猿问

将清单清单清单变成字典

我正在使用Python 3.6,需要将下面的列表转换成词典的字典:

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

输出:

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

我尝试使用:

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

但是我得到一个错误:

TypeError:无法散列的类型:“列表”


达令说
浏览 110回答 1
1回答

翻翻过去那场雪

理解力得到了支持:{ 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}}
随时随地看视频慕课网APP

相关分类

Python
我要回答