我有一个这样的清单:
somelist = ['apple','grapes','wood']
但是某些列表可能是3个项目,也可能是20个项目
我想为每个项目制作一个元组,例如:
tup1 = ('apple')
tup2 = ('grapes')
....
tup(i) = ('item')
但如何使变量名称变为“变量”?
答案 0 :(得分:1)
简单的答案是:“不要。”不要将数据放在变量名中。
你已经拥有与你所要求的几乎相同的东西:
somelist[1] == 'apple'
通过创建元组列表,您可以更加接近:
tup = [ (item,) for item in somelist ]
# Now tup[1] == ('grapes',)
最后,如果您绝对必须创建变量,请使用setattr
:
for i, item in enumerate(somelist):
setattr(self, 'tup%d'%i, (item,))
# Now self.tup1 == ('grapes',)