我想知道是否有人知道有一种方法可以基于for循环更改变量名,如下所示:
for i in range(3)
group+i=self.getGroup(selected, header+i)
这样,变量的名称就会发生变化,以适应数据。谢谢!
~Sam
发布于 2009-06-29 19:43:19
您可能需要一个字典,而不是单独的变量。例如
d = {}
for i in range(3):
d["group" + str(i)] = self.getGroup(selected, header+i)
如果您坚持实际修改局部变量,则可以使用locals
函数:
for i in range(3):
locals()["group"+str(i)] = self.getGroup(selected, header+i)
另一方面,如果您实际需要的是修改所在类的实例变量,那么可以使用setattr
函数
for i in group(3):
setattr(self, "group"+str(i), self.getGroup(selected, header+i)
当然,对于所有这些例子,我假设你不仅仅想要一个列表:
groups = [self.getGroup(i,header+i) for i in range(3)]
发布于 2009-06-29 19:43:01
看起来你想用一个列表来代替:
group=[]
for i in range(3):
group[i]=self.getGroup(selected, header+i)
https://stackoverflow.com/questions/1060090
复制相似问题