简体   繁体   English

将清单清单清单变成字典

[英]Turn a list of lists of lists of lists into a dictionary

I'm using Python 3.6 and I need to turn the list below into a dictionary of dictionaries: 我正在使用Python 3.6,并且需要将下面的列表变成词典字典:

myList = [['A',[['a',1],['b',0],['c',1]]],['B',[['a',0],['b',1],['c',1]]]]

Output: 输出:

myDict = {A: {a: 1, b: 0, c: 1}, B: {a: 0, b: 1, c: 1}}

I tried to use: 我尝试使用:

myDict = defaultdict(lambda: defaultdict(list))
for key1, key2, *values in myList:
    myDict[key1][key2].extend(values)

But I get an error: 但是我得到一个错误:

TypeError: unhashable type: 'list' TypeError:无法散列的类型:“列表”

Comprehensions got your back: 理解力得到了支持:

{ k:{ kk:vv for kk, vv in v } for k, v in myList }
# => {'A': {'a': 1, 'b': 0, 'c': 1}, 'B': {'a': 0, 'b': 1, 'c': 1}}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM