【发布时间】:2014-03-15 13:41:19
【问题描述】:
如 PythonCookbook 中所述,* 可以添加到元组之前。 * 在这里是什么意思?
第 1.18 章。将名称映射到序列元素:
from collections import namedtuple Stock = namedtuple('Stock', ['name', 'shares', 'price']) s = Stock(*rec) # here rec is an ordinary tuple, for example: rec = ('ACME', 100, 123.45)
在同一部分,**dict 呈现:
from collections import namedtuple Stock = namedtuple('Stock', ['name', 'shares', 'price', 'date', 'time']) # Create a prototype instance stock_prototype = Stock('', 0, 0.0, None, None) # Function to convert a dictionary to a Stock def dict_to_stock(s): return stock_prototype._replace(**s)
**在这里的作用是什么?
【问题讨论】:
-
不是
**tuple,而是**dictionary。 -
@MartijnPieters 对此很抱歉,我会努力解决的。
-
没问题,只是指出你的误解。
-
@MartijnPieters 如果您从语言开始,这不是一个重复的问题。对我来说,这个问题给出了与 *arg 和 **kwargs 不同的观点。
标签: python python-3.x tuples namedtuple iterable-unpacking