繁体   English   中英

Python 3:从元组中展开参数

[英]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是listtuple甚至生成器,则此方法有效


有一种类似的方法可以在映射对象(通常是字典)上使用**运算符将参数传递给带有关键字的函数:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM