[英]Python 3: Unroll arguments from tuple
给定一个Python元组t = v1, v2, v3
是否有一个实用程序来解压这些,所以给定:
def foo(v1,v2,v3): pass
而不是这个:
foo(t[0],t[1],t[2])
你可以这样做:
foo(unpack(t))
我想知道任何可用于元组和/或列表的实用程序。
真诚的谢谢。
是的。 你可以使用解包操作符( '*'
)
foo(*t)
请注意,如果t是list
, tuple
甚至生成器,则此方法有效
有一种类似的方法可以在映射对象(通常是字典)上使用**
运算符将参数传递给带有关键字的函数:
def foo(key=None,foo=None):
pass #...
foo(**{key:1,foo:2})
解压缩参数列表:
foo(*(v1, v2, v3))
使用*args
参数传递:
foo(*t)
演示:
>>> def foo(v1, v2, v3):
... print(v1, v2, v3)
...
>>> t = 1, 2, 3
>>> foo(*t)
1 2 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.