python - 将列表列表的列表转换为字典
问题描述
我正在使用 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)
但我收到一个错误:
类型错误:不可散列类型:“列表”
解决方案
理解得到了你的支持:
{ 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}}
推荐阅读
- java - mediaPlayer.isPlaying() 当我在歌曲仍在播放时按下并重新进入活动时返回 false
- c# - System.Progress 回调异常无法处理
- android - 将列表中的文本视图动态添加到约束布局
- javascript - 在 Jquery 验证表单之后从表单发送数据
- c++ - Qt C++ QVector QLine QPoint绘图工具
- r - Dataframe有一个空单元格,如何用0替换?
- node.js - Visual Studio 代码:智能感知不起作用,显示“正在初始化 JS/TS 语言功能”
- c# - 无法访问同一类中的按钮数组
- ggplot2 - 使用 geom_col(世界银行数据)将总数的子集显示为堆积条
- python - 使用python提取主图像中存在的所有子图像的坐标