python数组作为参数列表
我有一个数组,这个数组的内容可以用来作为一个函数的参数:
TmpfieldNames = []
TmpfieldNames.append(Trademark.name)
TmpfieldNames.append(Trademark.id)
return func(Trademark.name, Trademark.id)
func(Trademark.name.Trademark.id)
这样调用是可以的,但 func(TmpfieldNames)
这样调用就不行。有没有办法在不直接指定数组元素的情况下调用这个函数,比如不想写成 func(TmpfieldNames[0], TmpfieldNames[1])
这样?
3 个回答
2
你要找的是:
func(*TmpfieldNames)
不过,这并不是这种功能的常见用法;我猜想你是为了演示而创建的。
17
我觉得你想要的就是这个:
def f(a, b):
print a, b
arr = [1, 2]
f(*arr)
40
使用 *
可以把列表(list
)或元组(tuple
)里的参数拆开,而 **
则是用来拆开字典(dict
)里的参数。
>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]
这是来自于 文档的一个例子。