2010-12-09 35 views
0

我怎麼會在列表中創建的項目陣列 像如何創建下列陣列

list = ["a","b","c"] 
    for thing in list: 
    thing = [] 
+1

結果應該是什麼?目前,它看起來像你想用`list [',[],[]]``替換`list`中的每個項目(你應該給它另一個名字)。 – 2010-12-09 13:49:20

+0

id最終像a = [],b = [],c = [] – user428370 2010-12-09 13:54:17

+0

@ user428370:編寫簡單的賦值語句似乎比與循環混合更簡單。讓這更復雜的是什麼? – 2010-12-09 15:21:12

回答

2

如果你的意思是創建全球陣列(模塊級),那麼你可以這樣做:

for thing in list: 
    globals()[thing] = [] 
+0

這正是我想要的,謝謝 – user428370 2010-12-09 14:11:17

0
x = dict ([(name, []) for name in ["a", "b", "c"]]) 

也許

x = [[] for name in ["a", "b", "c"]] 
0

[list() for i in items]

[list() for i in range(len(items))]

如果你想換的items當前的元素列表,你可以做

[[i] for i in items]

items用於變量名稱,因爲list是內置變量。

3

我想你問的是嚴格的響應:

for x in lst: 
    locals()[x] = [] 

locals可能是globals ,這取決於你想要什麼。但通常建議使用字典來保存這些值(正如其他人已經提出的那樣)。

[編輯]另一種方式:

locals().update(dict.fromkeys(lst, [])) 
1
list = ["a","b","c"] 
for thing in list: 
    exec(thing+"=[]") 

這是你想要的嗎?