在 python 中,假设我有一个列表:
instruments = ['apd', 'dd', 'dow', 'ecl']
如何拆分这些列表以便创建:
apd[]
dd[]
dow[]
ecl[]
谢谢您的帮助。
在 python 中,假设我有一个列表:
instruments = ['apd', 'dd', 'dow', 'ecl']
如何拆分这些列表以便创建:
apd[]
dd[]
dow[]
ecl[]
谢谢您的帮助。
你会这样做:
dictionaries = {i:[] for i in instruments}
你会以这种方式引用每个列表:
dictionaries['apd']
dictionaries['dd']
dictionaries['dow']
dictionaries['ecl']
这被认为比在当前命名空间中实际拥有列表要好得多,因为它既污染又不符合 Python 标准。
mshsayem 有将列表放入当前范围的方法,但问题是,将它们放入当前范围有什么好处?
标准用例:
apd.append
eval
orlocals
来获取列表,即eval('apd').append
或locals()['apd'].append
两者都可以使用字典来满足:
dictionaries['<some name can be set programatically or using a constant>'].append
尝试这个:
instruments = ['apd', 'dd', 'dow', 'ecl']
l_dict = locals()
for i in instruments:
l_dict[i] = []
这将在本地范围内创建apd
, dd
, dow
,列表。ecl
不过,Snakes and Cofee 的想法更好。