2015-09-26 163 views
0

我很努力地找到一種方法來初始化一個字符串列表,使其成爲以字符串作爲名稱的空列表。 所以基本上採取從一個字符串列表中創建一個空列表python

l = ['x', 'y', 'z'] 

,然後使它這樣我可以叫Y(不是「Y」),並把它返回一個空字符串[],我可以工作。它甚至有可能嗎?

回答

0

字典是否適合您?

l = ['x', 'y', 'z'] 
empties = {i: [] for i in l} 

而且empties['y'],例如,將返回[]

+0

是的我一直在考慮使用字典,它會更容易,但將不得不做一些適當的重寫。如果它甚至是可能的,現在也只是一種好奇。 – user3116959

+0

有一個問題叫做「我怎樣才能動態地用Python創建變量」(不知道如何鏈接到移動設備上)。最受投票的答案建議使用字典,但還有另一個涉及全局的可能適合您需求的答案。 (買家要小心:許多人低估了這個答案,好吧,用全局符號搞亂了) –

0

要回答你的問題,並不能告訴你想 - 或沒有做的事:

locals()將返回局部變量的字典在當前範圍內。您可以添加項目:

>>> for i in l: 
...  locals()[ i ] = [] 
... 
>>> x 
[] 
>>> y 
[] 
>>> z 
[] 
+0

這很不幸有點脆。當'locals()'不返回'globals()'字典時,默認情況下,返回值的更改不會傳播。有一些技巧來強制更新,但我忘記了它是什麼。 – mwchase

相關問題