使用输入选择变量

selecting a variable using input

我是新手 python 并且需要知道如何通过键入 a 或 b 或 c 来打印其中一个 theis 列表,我尝试使用 if 条件并且它正在工作但是如果我有 100 个 theis 列表怎么办有更好的方法谢谢。

letters = input("Select a letter ")

a = ["aaaa","aaaa","aaaa","aaaa",]
b = ["bbbb","bbbb","bbbb","bbbb",]
c = ["CCCC","CCCC","CCCC","CCCC",]

if letters == "a":
    print(a)
elif letters == "b":
    print(b)
elif letters == "c":
    print(c)
else:
    print("wrong input")

最简单的方法是调用eval

print(eval("a"))
print(eval(letters))    # beware

但是,必须 永远不要 直接评估从用户获得的任何原始输入,因为他们随后可以输入一个命令,使程序执行任意操作,例如绕过限制、窃取数据或擦除您的文件。必须始终处理或全面审查用户输入:

if letters in ["a", "b", "c"]:
    print(eval(letters))       # safe
else:
    print("wrong input")

另一种方法是使用内置函数 locals()。它 returns 本地范围内可访问的所有变量和值的字典。

if letters in ["a", "b", "c"]:
    print(locals()[letters])