Python 从列表创建嵌套字典
我有一个python文本文件,如下所示 即使0;即使1.古怪的 古怪的0;古怪的1.甚至 打开并读取此文件后,我需要返回一个嵌套字典,其中外部级别是每行的第一个单词,内部字典的下一个数字作为键,它旁边的值作为值。。。如何使用zip函数实现这个功能 例如,第一行的dict如下所示: {偶数:{0:偶数,1:奇数}Python 从列表创建嵌套字典,python,list,dictionary,zip,Python,List,Dictionary,Zip,我有一个python文本文件,如下所示 即使0;即使1.古怪的 古怪的0;古怪的1.甚至 打开并读取此文件后,我需要返回一个嵌套字典,其中外部级别是每行的第一个单词,内部字典的下一个数字作为键,它旁边的值作为值。。。如何使用zip函数实现这个功能 例如,第一行的dict如下所示: {偶数:{0:偶数,1:奇数} xref = defaultdict(dict) for line in file: list = line.strip().split(';') for item in
xref = defaultdict(dict)
for line in file:
list = line.strip().split(';')
for item in list:
xref[list[0]] = {}
首先,您不能将
list
用作变量名,因为list
在python中是一个关键字。也就是说,你走在正确的轨道上。这就是你想要的:
>>> xref = defaultdict(dict)
>>> for line in file:
alist = line.strip().split(';')
zlist = alist[1:]
xref[alist[0]] = dict(zip(zlist[::2], zlist[1::2]))
>>> xref
defaultdict(<type 'dict'>, {'even': {'1': 'odd', '0': 'even'}, 'odd': {'1': 'even', '0': 'odd'}})
>xref=defaultdict(dict)
>>>对于文件中的行:
alist=line.strip().split(“;”)
zlist=alist[1:]
xref[alist[0]=dict(zip(zlist[::2],zlist[1::2]))
>>>外部参照
defaultdict(,{'even':{'1':'odd','0':'even'},'odd':{'1':'even','0':'odd'})
请注意,内部字典中的元素顺序与您预期的不同,但字典中的元素在默认情况下是无序的
希望这有帮助