【发布时间】:2015-11-23 23:12:48
【问题描述】:
我在 stackoverflow 上找到了似乎可以解决我的问题的答案,但我找不到我能够开始工作的东西。我有一个非常大的字符串列表,如下所示:
db = ['a','b','c']
我想为每个字符串实例化一个类,其中唯一的字符串将是变量名:
a = MyClass()
b = MyClass()
c = MyClass()
我想将字符串转换为变量,但从我在 SO 上找到的一些答案来看,这似乎并不可取。
最好的方法是什么?
【问题讨论】:
-
使用
dictionary? -
只需使用一个以字符串为键、类实例为值的字典。这就是 Python 命名空间的工作原理。
-
@letsc 我在很多帖子中都读过这个,但我不知道该怎么做。这些值是否都应该是具有相同变量名的类的实例化?像这样:
{'a':x, 'b':x, 'c':x} -
你想要像
instances = dict((k, MyClass()) for k in db)这样的东西。或听写理解,如果您至少使用 2.7:instances = {k: MyClass() for k in db}.
标签: python