Python 3.7字典列表格式转换求助:如何实现指定结构重构
这事儿超简单,用Python的列表推导式就能轻松搞定,完全适配你的3.7版本~
具体实现代码
直接用一行列表推导式就能完成转换:
original_list = [{'value': '299021.000000', 'abbrev': 'AAA'}, {'value': '299021.000000', 'abbrev': 'BBB'}, {'value': '8.597310', 'abbrev': 'CCC'}] converted_list = [{item['abbrev']: item['value']} for item in original_list] print(converted_list)
运行这段代码后,输出就是你想要的结构:
[{'AAA': '299021.000000'}, {'BBB': '299021.000000'}, {'CCC': '8.597310'}]
代码逻辑解释
- 我们遍历原始列表里的每一个字典项
item - 对每个
item,创建一个新的小字典:把原字典里的abbrev值作为键,value值作为对应的值 - 所有这些小字典会自动被收集成一个新列表,也就是最终的转换结果
可选的健壮性优化
如果你的原始数据里可能存在缺少abbrev或value键的字典(虽然示例里没有这种情况),可以加个判断过滤掉这些无效项,避免报错:
converted_list = [ {item['abbrev']: item['value']} for item in original_list if 'abbrev' in item and 'value' in item ]
这样即使原始列表里有不符合结构的字典,代码也能正常运行,只转换有效的项。
内容的提问来源于stack exchange,提问作者user1315789
相关产品推荐
相关产品推荐

