我刚开始学习Python,所以不确定这是否可能。我正在尝试从字符串列表中创建变量名列表,以便随后可以为新创建的变量赋值。
我看到了另一个类似的问题,但已经有一个包含键和值的字典。
以下是我的代码:
def handy(self):
a = raw_input('How many hands? ')
for i in range(int(a)):
h = "hand" + str(i+ 1)
self.list_of_hands.append(h)
# would like to create variable names from self.list_of_hands
# something like "hand1 = self.do_something(i)"
print h
print self.list_of_hands
鉴于一些回答,我补充以下评论: 然后我将为每个变量分配字典。那么,我是否可以创建一个包含多个字典的字典?
globals()
函数获取全局命名空间的字典并将字符串作为键来访问变量。如果它们是在类中定义的,你可以使用getattr()
函数从实例中获取变量。如果它们是在局部作用域中定义的,你可以创建一个字典并将变量名作为键,而不是将变量添加到全局命名空间。globals()
函数来获取全局命名空间的字典,并找到与变量相对应的键。另外,如果变量是在类中定义的,你可以使用getattr()
函数从类实例中获取变量名。