一尘不染

Python-将元组扩展为参数

python

有没有办法将Python元组扩展为函数-作为实际参数?

例如,这里expand()做了魔术:

some_tuple = (1, "foo", "bar")

def myfun(number, str1, str2):
    return (number * 2, str1 + str2, str2 + str1)

myfun(expand(some_tuple)) # (2, "foobar", "barfoo")

我知道可以将其定义myfun为myfun((a, b, c)),但是当然可能会有遗留代码。谢谢


阅读 449

收藏
2020-02-18

共1个答案

一尘不染

myfun(*tuple)不正是你要求什么。的*操作者只需解包元组(或任何可迭代),并把它们作为位置函数的自变量。有关更多信息,请参见此处。

侧问题:不要为你的标识符内建类型的名称,如使用tuplelistfileset,等等-这是可怕的做法,它会回来,咬你的时候,你最不经意的时候,所以只是进入的积极的习惯,避免隐藏带有你自己的标识符的内置名称。

2020-02-18