Mer*_*lin 0 python arrays loops list
是否可以从另一个列表创建一组列表/数组.
有
L = ['a','b','c','d','e',]
Run Code Online (Sandbox Code Playgroud)
想
a=[]
b=[]
c=[]
d=[]
e=[]
Run Code Online (Sandbox Code Playgroud)
小智 12
你可以通过一些hackery从字符串创建变量.但是,这几乎不是一个好主意.只需使用a dict,这正是没有让您的代码命名空间与(可能是用户提供的)数据集合混淆的所有令人头疼的问题.
d = {}
for name in L:
d[name] = []
Run Code Online (Sandbox Code Playgroud)
(在Python 2.7和3.x中,由于字典理解,你可以将它写成单个表达式:{name: [] for name in L}.)
这是一种方式:
>>> vars={}
>>> for x in L:
... vars[x]=list()
...
>>> vars
{'a': [], 'c': [], 'b': [], 'e': [], 'd': []}
>>> locals().update(vars)
>>> a
[]
>>> b
[]
Run Code Online (Sandbox Code Playgroud)
这会更新locals并添加新项目.但如果我是你,我会简单地保留这个dict名字vars.最好有明确的数据结构,而不是搞乱locals或globals.