Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种更像python的方法在函数上分解列表';谁的论点?_Python_List_Function_Parameters_Arguments - Fatal编程技术网

有没有一种更像python的方法在函数上分解列表';谁的论点?

有没有一种更像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),会将所有关键字参

有没有一种方法可以在不显式索引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)
,会将所有关键字参数放入名为
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)