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

Python如何匹配字典键与字典列表type字段获取对应值生成新字典

实现方案

给定数据

两个基础数据结构如下(注意原字典中"A":"A Name"行末尾缺失逗号,运行前需要补全避免语法错误):

my_ls = [{"type": "A", "value": "100"}, {"type": "B", "value": "200"}, {"type": "C", "value": "300"}, {"type": "D", "value": "700"}]

my_dict = {
    "A": "A Name",
    "B": "B Name",
    "C": "C Name",
    "D": "D Name"
}

匹配规则

遍历列表中的字典元素,当元素的type字段值和my_dict的键匹配时,取my_dict中该键对应的展示名称作为新字典的键,取列表元素中对应的value字段(可按需拼接说明文本)作为新字典的值。

代码实现

基础遍历写法(可读性高,适合新手)

new_dict = {}
for item in my_ls:
    type_code = item["type"]
    # 增加判断避免my_dict中不存在对应type时抛出KeyError
    if type_code in my_dict:
        # 不需要示例里的说明前缀时,直接赋值item["value"]即可
        new_dict[my_dict[type_code]] = f"Type {type_code} value from list i.e {item['value']}"

字典推导式写法(简洁高效)

new_dict = {
    my_dict[item["type"]]: f"Type {item['type']} value from list i.e {item['value']}"
    for item in my_ls
    if item["type"] in my_dict
}

运行结果

两种写法最终输出的新字典完全符合预期:

{
    "A Name": "Type A value from list i.e 100",
    "B Name": "Type B value from list i.e 200",
    "C Name": "Type C value from list i.e 300",
    "D Name": "Type D value from list i.e 700"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:51:18