如何将嵌套列表转换为以首个子列表元素为键的字典列表
嵌套列表转字典列表实现方案
实现思路
取嵌套列表的第一个子元素作为所有字典的公共键,剩余的每个子元素按位置和键一一配对,分别生成独立字典,最终汇总为字典列表。
代码实现(Python)
基础实现
# 定义输入嵌套列表 input_list = [ ['language', 'edition'], ['Pascal', 'third'], ['Python', 'fourth'], ['SQL', 'second'] ] # 提取公共键 keys = input_list[0] # 生成字典列表 dict_list = [dict(zip(keys, item)) for item in input_list[1:]]
运行后dict_list的内容为:
[ {'language': 'Pascal', 'edition': 'third'}, {'language': 'Python', 'edition': 'fourth'}, {'language': 'SQL', 'edition': 'second'} ]
输出指定格式字符串
如果需要输出示例中逗号分隔的字典字符串格式,可以用以下代码处理:
import json output = ','.join(json.dumps(item, ensure_ascii=False) for item in dict_list) print(output)
输出结果:
{"language": "Pascal","edition": "third"},{"language": "Python","edition": "fourth"},{"language": "SQL","edition": "second"}
边界情况说明
如果后续子列表的长度和键列表长度不一致,zip方法会自动截断到两者中更短的长度,如果你需要对长度不匹配的场景做特殊校验,可以在生成字典前增加长度判断逻辑。
内容的提问来源于stack exchange,提问作者mattyboo
相关产品推荐
相关产品推荐

