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_Tuples - Fatal编程技术网

如何在Python中就地解压列表或元组?

如何在Python中就地解压列表或元组?,python,list,tuples,Python,List,Tuples,是否可以解压列表或元组,以便将值用作函数参数?也就是说,我怎样才能让第二条线工作 f(1,2,3) f(???([1,2,3])) 我目前正在手工完成这项工作,比如: tmp1, tmp2, tmp3 = [1,2,3] f(tmp1,tmp2,tmp3) 上下文:我无法修改f(),但这是代码生成器的一部分,因此时髦的解决方案不是问题。是的,您可以使用*args(splat)语法: 看 还有一个等价的关键字参数,使用两颗星: kwargs = {'foo': 'bar', 'spam': '

是否可以解压列表或元组,以便将值用作函数参数?也就是说,我怎样才能让第二条线工作

f(1,2,3)
f(???([1,2,3]))
我目前正在手工完成这项工作,比如:

tmp1, tmp2, tmp3 = [1,2,3]
f(tmp1,tmp2,tmp3)

上下文:我无法修改f(),但这是代码生成器的一部分,因此时髦的解决方案不是问题。

是的,您可以使用
*args
(splat)语法:

还有一个等价的关键字参数,使用两颗星:

kwargs = {'foo': 'bar', 'spam': 'ham'}
f(**kwargs)
在函数签名中指定catch all参数时,有一种等效的语法:

def func(*args, **kw):
    # args now holds positional arguments, kw keyword arguments

@NullUserException:这是函数签名。语法看起来相同,但功能不同。@NullUserException:这并不是说这个问题不是重复的,只是不是你提出的问题。@Martijn我很确定以前有人问过这个问题。我在手机上,所以我很难找到它我有一大堆的傻瓜。。。但真的很难选择哪一个,等等@mgilson:是时候坚持一个,把其他的东西都当作傻瓜关了?
def func(*args, **kw):
    # args now holds positional arguments, kw keyword arguments