我是新手,只是学习python并徘徊如何获取从for循环获取的char作为变量名而不是实际的char
我有3个数组
a=[1,2,3]
b=[2,3,4]
c=[3,4,5]
和for循环
for x in "abc":
some_function(x)
例如这是我的功能...
def some_function(array):
print(sum(array))
但是它不起作用...我希望x成为'a',而不是char,而是作为变量a,数组,这给了我函数以做某事
答案 0 :(得分:1)
不是使用字符串,而是像这样使用元组中的所有列表:
for x in (a, b, c):
some_function(x)
现在,some_function
计算每个列表的总和,因此输出如下:
6
9
12
如果您需要坚持使用字符串,请创建一个字典来存储映射并在循环中使用它:
d = {'a': [1,2,3], 'b': [2,3,4], 'c': [3,4,5]}
def some_function(array):
print(sum(array))
for x in 'abc':
some_function(d[x])
# 6
# 9
# 12
答案 1 :(得分:1)
如果您确实想使用字符串"abc"
进行操作,则可以使用eval
函数:
for x in "abc":
some_function(eval(x))
完成此操作的正常“正确”方法是像其他人提到的那样遍历(a, b, c)
,但是Python的好处在于,有各种各样有趣的方法可以完成工作。