2016-01-29 32 views
-2

我希望能夠從列表中創建單個項目。如何從python列表中創建多個項目

例如

test_list = ["dog", "cat", 12, 34, "boop"] 

#code code code 

item_1 = "dog" 
item_2 = "cat" 
item_3 = 12 
item_4 = 34 
item_5 = "boop" 

所以我想運行一些循環,通過這樣的例子不勝枚舉,併爲列表中的每個項目的新對象。這可能嗎?

+3

這可能嗎?是!但是什麼類型的對象和你想要的? – SIslam

+3

可以將變量注入全局範圍,但我真的很想知道爲什麼你會這樣做。這表明你設計中的某些東西是錯誤的。 (假設你有5個變量,現在你打算怎麼處理它們,你無法使用這個列表?) – Tibo

+2

http://xyproblem.info/ –

回答

-1

您可以使用由globals()功能恢復設置變量這樣的字典:

test_list = ["dog", "cat", 12, 34, "boop"] 

for i, x in enumerate(test_list): 
    globals()["item_" + str(i + 1)] = x 

print item_1 
print item_2 
print item_3 
print item_4 
print item_5 
+0

即時downvote。不要幫助OP做愚蠢的事情。至少留下一個粗暴的警告,這是一個可怕的想法。 –

+2

如果你認爲這是一個愚蠢的想法,你應該投票的問題。這個答案似乎正好解決了被問到的問題。 –

+0

如果您遇到問題,請隨時在meta上發佈。 –

1

不要這樣做。無論是保持清單,就是因爲你已經可以得到項目數x與test_list[x-1]或構建一個字典:

>>> items = {'item_{}'.format(i):thing for i,thing in enumerate(test_list,1)} 
>>> items['item_2'] 
'cat' 

因爲你的名字是不是非常有意義的(你只是一個抵消列表索引和添加「ITEM_ '在它前面),我不認爲在這裏建立一本字典是特別必要的。

+0

從我問這個問題後的研究中,我發現自己是對的。字典是要走的路。 謝謝! – Natty

相關問題