Python中如何并行遍历列表与嵌套列表生成字典?
实现需求的Python函数方案
最简洁高效的实现方式是利用Python内置的zip()函数配合列表推导式,代码如下:
def list_dic_gen(keys, values_list): return [dict(zip(keys, vals)) for vals in values_list]
实现说明
- 遍历
values_list中的每个子列表vals,每个子列表对应一个要生成的字典。 zip(keys, vals)会将键列表和当前值子列表按索引位置一一配对,生成键值对的迭代器。dict()将迭代器转换为字典,最终所有字典被收集成列表返回。
验证示例
- 第一个测试用例:
list_dic_gen(['One','Two'], [['First','Second']])
输出结果:
[{'One': 'First', 'Two': 'Second'}]
- 第二个测试用例:
list_dic_gen(['Second'], [['One'],['Third Fourth']])
输出结果:
[{'Second': 'One'}, {'Second': 'Third Fourth'}]
可选的长度校验
如果需要确保每个值子列表的长度和键列表完全一致(避免因长度不匹配导致数据丢失),可以添加校验逻辑:
def list_dic_gen(keys, values_list): key_len = len(keys) result = [] for vals in values_list: if len(vals) != key_len: raise ValueError(f"值列表长度必须为{key_len},当前值列表长度为{len(vals)}") result.append(dict(zip(keys, vals))) return result
内容的提问来源于stack exchange,提问作者Jimbob12505
相关产品推荐
相关产品推荐

