Python 在循环中定义多个函数
我是python新手,需要编写一个循环,为列表中的每个元素声明一个函数。这些函数将在循环后使用。 循环中的最后一个元素需要额外处理 假设我有这个清单Python 在循环中定义多个函数,python,loops,Python,Loops,我是python新手,需要编写一个循环,为列表中的每个元素声明一个函数。这些函数将在循环后使用。 循环中的最后一个元素需要额外处理 假设我有这个清单 elements = ['element_1' ,'element_2', 'element_3'] 我试过: for i, item in enumerate(elements) : if (i+1) == len(elements): def action(focus = 'action_' + str(i)) :
elements = ['element_1' ,'element_2', 'element_3']
我试过:
for i, item in enumerate(elements) :
if (i+1) == len(elements):
def action(focus = 'action_' + str(i)) :
print ("action_" + str(i) + " : " + item)
.
.
.
else :
def action(focus = 'action_' + str(i)) :
print ("action_" + str(i) + " : " + item)
.
.
.
按照您的建议定义函数被认为是不好的做法。最好的方法是在外部级别定义函数,并在需要时调用它们。为什么需要在循环内部创建函数?只需将您需要的任何参数传递给函数no,这不是您想要做的。这听起来很经典。你能解释一下你到底想完成什么吗?请注意,Python支持将数据与函数耦合的闭包,以及lambda或匿名函数,以解决您可能遇到的各种问题。您可以使用字符串中的名称定义函数。我正在使用Python act-r并尝试对认知体系结构建模。我通过Rest获得这个数组,它应该表示用户的操作。这将是一个例子:我知道这是一种糟糕的风格,但不幸的是,我必须使用python act-r,并且需要从列表中动态声明生产函数。不幸的是,在我的情况下,这不是一个选项。我可以写一个代码生成器。那么情况就是这样。