在python中,假设我有一个列表:
instruments = ['apd', 'dd', 'dow', 'ecl']
如何拆分这些列表以便创建:
apd[]
dd[]
dow[]
ecl[]
感谢您的帮助。
答案 0 :(得分:3)
你会这样做:
dictionaries = {i:[] for i in instruments}
并且你会以这种方式引用每个列表:
dictionaries['apd']
dictionaries['dd']
dictionaries['dow']
dictionaries['ecl']
这被认为是比在当前命名空间中实际拥有列表更好的做法,因为它既有污染也有非语音。
mshsayem有将列表放在当前范围内的方法,但问题是,将它们放入当前范围会有什么好处?
标准用例:
apd.append
eval
或locals
来获取列表,即eval('apd').append
或locals()['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] = []
这将在本地范围内创建apd
,dd
,dow
,ecl
列表。
Snakes和Cofee的想法虽然更好。