这可能是非常基本和简单的事情,我可能只是在搜索错误的术语,但希望这里有人可以帮助我。(我仍然是编程的初学者,这从这个问题中可能很明显。)
我正在寻找一种从字符串访问变量的方法。
像这样:
A1 = {}
B1 = {}
C1 = {}
mylist = ["A","B","C"]
for blurb in mylist:
blurb1.foo()
现在我在这种情况下使用 if/elif-constructions:
if blurb == "A":
A1.foo()
elif blurb == "B":
B1.foo()
elif blurb == "C":
C1.foo()
这行得通,但肯定有更优雅的方法吗?
谢谢你的帮助!拉斯塔尔达
Edit2:试图再次澄清(抱歉之前不是很连贯,我很难理解这一点):
我想从字符串创建和访问对象。
因此,如果我有一个返回字符串的函数,我想创建一个使用此字符串作为列表名称的列表,然后使用该列表进行操作。
x = foo() # foo returns a string, e.g. "A"
# create list named whatever the value of x is
# in this case:
A = []
没有什么比为 x 的所有可能结果准备列表并使用长 elif 结构或字典更优雅的了?在这种情况下我必须使用 eval() 吗?(我对使用 eval() 犹豫不决,因为它被认为是危险的。)
我希望现在终于清楚了。任何帮助仍然很感激!