Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表创建嵌套字典_Python_List_Dictionary_Zip - Fatal编程技术网

Python 从列表创建嵌套字典

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

我有一个python文本文件,如下所示 即使0;即使1.古怪的 古怪的0;古怪的1.甚至

打开并读取此文件后,我需要返回一个嵌套字典,其中外部级别是每行的第一个单词,内部字典的下一个数字作为键,它旁边的值作为值。。。如何使用zip函数实现这个功能

例如,第一行的dict如下所示: {偶数:{0:偶数,1:奇数}

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'})
请注意,内部字典中的元素顺序与您预期的不同,但字典中的元素在默认情况下是无序的

希望这有帮助