从python列表中逐个调用函数,并为一个函数运行多次

2024-10-01 07:46:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一个包含函数的列表,在for循环迭代中我需要调用它们。你知道吗

list1 = ['f1(agr1,agr2)', 'f2(arg1)', 'f3(arg1,arg2,agr3)']

for i in list1:
   i

这不是执行。你知道吗

当我像下面这样使用时:

for i in list1:
   i()

获取以下错误:

TypeError: 'str' object is not callable

另一个是我需要在不同的列表中使用函数参数,并在for循环中使用zip,或者如何传递参数

请帮忙


Tags: 函数in列表for错误f2f1arg1
1条回答
网友
1楼 · 发布于 2024-10-01 07:46:18

您的第一项是一个字符串,如错误中所述。函数需要实际指定函数:

list1 = [(f1, (arg1, arg2)),
         (f2, (arg1,)),
         (f3, (arg1, arg2, arg3))]

for i in list1:
    i[0](*i[1])

目前您列出的不是函数本身,而是通过调用它们返回的输出。你知道吗

我不确定您的用例,所以这可能根本不是实现您真正想要的东西的最佳方式,但是这个稍微混乱的解决方案应该可以工作。你知道吗

相关问题 更多 >