如何使用变量名创建许多元组

时间:2013-11-25 18:30:08

标签: python string list variables tuples

我有一个这样的清单:

somelist = ['apple','grapes','wood']

但是某些列表可能是3个项目,也可能是20个项目

我想为每个项目制作一个元组,例如:

tup1 = ('apple')
tup2 = ('grapes')
....
tup(i) = ('item')

但如何使变量名称变为“变量”?

1 个答案:

答案 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',)