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