如何在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