2010-12-09 36 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+"=[]") 

这是你想要的吗?