有没有一种更像python的方法在函数上分解列表';谁的论点?
有没有一种方法可以在不显式索引i的情况下调用foo(i)?有没有一种更像python的方法在函数上分解列表';谁的论点?,python,list,function,parameters,arguments,Python,List,Function,Parameters,Arguments,有没有一种方法可以在不显式索引i的情况下调用foo(i)? 试图避免foo(i[0],i[1],i[2])是的,Python支持: def foo(a, b, c): print a+b+c i = [1,2,3] 请参阅上的文档。适用于任何不合适的东西。双星**适用于dict和命名参数 foo(*i) 是的,使用: 您还可以在函数定义中使用*: def foo(*vargs)将所有非关键字参数放入名为vargs的元组中。 使用**,例如def foo(**kargs),会将所有关键字参
试图避免foo(i[0],i[1],i[2])是的,Python支持:
def foo(a, b, c):
print a+b+c
i = [1,2,3]
请参阅上的文档。适用于任何不合适的东西。双星**
适用于dict和命名参数
foo(*i)
是的,使用:
您还可以在函数定义中使用*
:
def foo(*vargs)
将所有非关键字参数放入名为vargs
的元组中。
使用**
,例如def foo(**kargs)
,会将所有关键字参数放入名为kargs
的字典中:
>>> foo(*i)
6
有人叫它,有接线员
>>> def foo(*vargs, **kargs):
print vargs
print kargs
>>> foo(1, 2, 3, a="A", b="B")
(1, 2, 3)
{'a': 'A', 'b': 'B'}
顺便说一句,它适用于任何iterable,而不仅仅是列表。在函数定义中使用过很多次,那么为什么不在调用时使用它呢。。。谢谢你恢复了我的python头像,谢谢你放弃了游戏的名字。事实上,这对谷歌搜索任何语言都有帮助。谢谢。
>>> def foo(*vargs, **kargs):
print vargs
print kargs
>>> foo(1, 2, 3, a="A", b="B")
(1, 2, 3)
{'a': 'A', 'b': 'B'}
foo(*i)