我正在使用python,我只是想知道是否可以将变量名存储在另一个列表中。
Achievement = ['hi', 'hey', 'hello']
lines = ['Achievement', 'hi']
print lines[0][2]
在这种情况下,我希望输出为' hello' 。 任何人都可以建议我实现这一目标。
答案 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]