从python中的列表中访问变量名称

时间:2015-09-15 11:40:50

标签: python list

我正在使用python,我只是想知道是否可以将变量名存储在另一个列表中。

Achievement = ['hi', 'hey', 'hello']
lines = ['Achievement', 'hi']
print lines[0][2]

在这种情况下,我希望输出为' hello' 。 任何人都可以建议我实现这一目标。

4 个答案:

答案 0 :(得分:6)

通常,如果要在Python代码中动态查找名称,正确的解决方案是使用映射。在Python中,基本映射对象是字典。执行您想要的示例代码可能如下:

d = {'Achievement': ['hi', 'hey', 'hello']}
key = 'Achievement'
index = 2
print d[key][index]

答案 1 :(得分:1)

有可能,是的。您可以访问globals()和/或locals()并使用其结果(这是varname:varcontent的字典)来完成此操作。

但这是非常糟糕的风格,因为你可以阅读here

有更好的方法,包括

Achievement = ['hi', 'hey', 'hello']
lines = [Achievement, 'hi']
print lines[0][2]

或使用字典或其他东西。

答案 2 :(得分:1)

但如果你真的想这样做

<强>码

 d=globals()
 d[lines[0]][2]

<强>输出:

 'hello'

答案 3 :(得分:1)

Achievement = ['hi', 'hey', 'hello']
lines = ['Achievement', 'hi']
print eval(lines[0])[2]