如何在python中将元组元素作为参数传递给函数?

alw*_*btc 12 python arguments tuples list

我有一个由元组组成的列表,我想将每个元组的元素作为参数传递给函数:

mylist = [(a, b), (c, d), (e, f)]

myfunc(a, b)
myfunc(c, d)
myfunc(e, f)
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

最好的祝福

Gar*_*tty 26

这在Python中实际上非常简单,只需循环遍历列表并使用splat operator(*)将元组解压缩为函数的参数:

mylist = [(a, b), (c, d), (e, f)]
for args in mylist:
    myfunc(*args)
Run Code Online (Sandbox Code Playgroud)

例如:

>>> numbers = [(1, 2), (3, 4), (5, 6)]
>>> for args in numbers:
...     print(*args)
... 
1 2
3 4
5 6
Run Code Online (Sandbox Code Playgroud)

  • 另请参阅`itertools.starmap`. (3认同)
  • `func(*args)`语法不是特定于3.x,但`print`是一个函数,因此该示例将在2.x上的`print(*args)`上给出语法错误. (3认同)
  • 你可能认为你在2.x上使用`print`作为函数,因为你使用括号,但是如果只有一个值,括号实际上并没有做任何事情.例如`print(1)`与`print 1`是一样的.你也可以对其他语句做同样的事情,例如`return(1)`相当于`return 1`. (3认同)
  • Python 2.x中的另一个选项是从未来导入打印函数 - "from __future__ import print_function`. (2认同)