You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于相同值将字典列表与单个字典合并的实现方法

解决方案

首先注意到你的dict1是数字对应扩展名的映射,而我们需要的是扩展名对应数字的反向映射,这样才能快速匹配每个字典的FileExtension值。

步骤1:反转字典映射

先把dict1反转成扩展名到数字的映射,方便后续快速查找:

dict1 = {21409: 'docx', 44334: 'xlsx', 33635: 'jpg'}
# 生成 {扩展名: 对应数字} 的反向映射
ext_to_count = {v: k for k, v in dict1.items()}

步骤2:遍历字典列表添加Count字段

循环遍历list_of_dicts中的每个字典,根据FileExtension从反向映射中取值,新增Count键:

list_of_dicts= [
    {"Customer":"test1","Field1":"yy","Field2":"bb","FileExtension":"jpg"},
    {"Customer":"test2","Field1":"aa","Field2":"bb","FileExtension":"docx"},
    {"Customer":"test3","Field1":"cc","Field2":"yy","FileExtension":"xlsx"}
]

for item in list_of_dicts:
    item['Count'] = ext_to_count[item['FileExtension']]

最终结果

执行后list_of_dicts会完全符合你的期望输出:

[{"Customer":"test1","Field1":"yy","Field2":"bb","FileExtension":"jpg","Count":33635},{"Customer":"test2","Field1":"aa","Field2":"bb","FileExtension":"docx","Count":21409},{"Customer":"test3","Field1":"cc","Field2":"yy","FileExtension":"xlsx","Count":44334}]

如果需要处理FileExtension不在dict1中的异常情况,可以改用get方法避免报错:

for item in list_of_dicts:
    # 不存在对应扩展名时,Count设为None(或其他默认值)
    item['Count'] = ext_to_count.get(item['FileExtension'], None)

内容的提问来源于stack exchange,提问作者Rusty cole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:42:38