如何从字符串获取char作为变量名?

时间:2019-04-07 05:12:04

标签: python string list variables char

我是新手,只是学习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,数组,这给了我函数以做某事

2 个答案:

答案 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的好处在于,有各种各样有趣的方法可以完成工作。