从您的评论中:
function(argument)
-> 工人执行的是什么。function(arg1)
, function(arg2)
.... 我想要这个:
你可以通过多种方式完成这项工作,因为这个参数应该是一个迭代器,例如列表、元组:
1)假设如果您的函数不返回任何值,只处理 arg i ∈ 参数(例如打印),那么您应该使用简单for
循环,请参见以下示例(阅读注释):
>>> def f(arg):
... print arg
...
>>> arguments = ('aa', 'bb') # it is a tuple
>>> for arg in arguments:
... f(arg)
...
aa # f('aa')
bb # f('bb')
>>>
2)如果假设函数类似于它在处理arg
传递给函数后返回一个值,并且您希望收集所有返回值以按某种顺序存储,例如列表,您可以调用列表压缩或映射,请查看以下示例(阅读评论):
>>> def f(arg):
... print "passed arguemnt is: ", arg
... i = arg * 2
... return i
...
>>> arguments = (11, 22)
>>> L = map(f, arguments) # (1) using map()
passed arguemnt is: 11 # f(11)
passed arguemnt is: 22 # f(22)
>>> L
[22, 44]
>>> L = [f(arg) for arg in arguments] # (2) using list compression
passed arguemnt is: 11 # f(11)
passed arguemnt is: 22 # f(22)
>>> L
[22, 44]
>>>
在最后两个技巧中,返回的值被存储到一个列表L
中,我稍后会在命令行解释器上打印该列表。
这个概念还是一样的,就像其他编程语言一样,如果你想重复执行一些语句,你需要循环: