Python:将列表拆分为多个列表

时间:2013-05-28 05:30:08

标签: python python-2.7

在python中,假设我有一个列表:

instruments = ['apd', 'dd', 'dow', 'ecl']

如何拆分这些列表以便创建:

apd[]
dd[]
dow[]
ecl[]

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

你会这样做:

dictionaries = {i:[] for i in instruments}

并且你会以这种方式引用每个列表:

dictionaries['apd']
dictionaries['dd']
dictionaries['dow']
dictionaries['ecl']

这被认为是比在当前命名空间中实际拥有列表更好的做法,因为它既有污染也有非语音。

mshsayem有将列表放在当前范围内的方法,但问题是,将它们放入当前范围会有什么好处?

标准用例:

  • 您已经知道这些项目的名称,并希望直接通过名称来引用它们,即apd.append
  • 您还不知道这些名称,但您会使用evallocals来获取列表,即eval('apd').appendlocals()['apd'].append

使用词典可以满足两者:

  • dictionaries['<some name can be set programatically or using a constant>'].append

答案 1 :(得分:1)

试试这个:

instruments = ['apd', 'dd', 'dow', 'ecl']
l_dict = locals()
for i in instruments:
    l_dict[i] = []

这将在本地范围内创建apddddowecl列表。 Snakes和Cofee的想法虽然更好。