2013-11-25 36 views
0

我有一個這樣的名單:如何使許多元組變量名

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

但somelist可以是長度爲3項或長度甚至20個項目

我想打一個元組對於像這樣的每個項目:

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

但我該如何使變量名稱...「變量」?

+1

如果您試圖修改變量名稱,y你可能想使用一個列表(當你需要的時候它可以增長或縮小)。 – sdasdadas

回答

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',) 
相關問題