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

如何根据值列表从已有字典生成新字典?

提取字典中值在指定列表内的键值对

可以用字典推导式快速实现这个需求,代码简洁高效,还能自动处理一个值对应多个键的情况:

example_list = [1, 2, 3, 4, 5]
original_dict = {"a": 1, "b": 2, "c": 9, "d": 2, "e": 6, "f": 1}

# 把列表转成集合提升查找效率(列表元素多的时候优势更明显)
value_set = set(example_list)
desired_dict = {k: v for k, v in original_dict.items() if v in value_set}

print(desired_dict)
# 输出: {'a': 1, 'b': 2, 'd': 2, 'f': 1}

补充说明:

  • 字典推导式会遍历原字典的每一组键值对,仅保留值存在于目标集合中的项
  • 将example_list转为集合value_set是因为集合的成员检查时间复杂度为O(1),远快于列表的O(n),当列表规模较大时能显著提升效率
  • 该方法会完整保留所有符合条件的键值对,自然支持一个值对应多个键的场景,完全匹配你的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:05:17