我有一个特定的函数(Quash),我想用它来运行变量列表,例如一个名为'list'的列表。有没有办法可以在不使用eval的情况下在数字列表上运行它?
注意:我将Quash功能放在这里只是为了简单起见。真正的函数更复杂,有很多字符串。
是否有替代方法可以在此循环中使用eval函数来提取值?
list = [1,2,3,4]
def stringfunction(Var):
AnalysisVar = "Quash.(" + str(Var) + ")"
return AnalysisVar
CompleteNames = [stringfunction(i) for element in list]
for i in CompleteNames:
eval("%s" %CompleteNames[i])
提前致谢。
首先,将列表命名为“列表”是一个坏主意,因为该名称已在Python中使用。其次,只需更新列表理解:
my_list = [1, 2, 3, 4]
CompleteNames = [Quash(str(i)) for i in my_list]