How do I pass tuples elements to a function as arguments in python?

ε祈祈猫儿з 提交于 2019-12-01 14:15:15

问题


I have a list consisting of tuples, I want to pass each tuple's elements to a function as arguments:

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

myfunc(a, b)
myfunc(c, d)
myfunc(e, f)

How do I do it?

Best Regards


回答1:


This is actually very simple to do in Python, simply loop over the list and use the splat operator (*) to unpack the tuple as arguments for the function:

mylist = [(a, b), (c, d), (e, f)]
for args in mylist:
    myfunc(*args)

E.g:

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



回答2:


To make @DSM's comment explicit:

>>> from itertools import starmap
>>> list(starmap(print, ((1,2), (3,4), (5,6)))) 
# 'list' is used here to force the generator to run out.
# You could instead just iterate like `for _ in starmap(...): pass`, etc.
1 2
3 4
5 6
[None, None, None] # the actual created list;
# `print` returns `None` after printing.


来源:https://stackoverflow.com/questions/10625220/how-do-i-pass-tuples-elements-to-a-function-as-arguments-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!