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

如何在Python中不使用循环简洁地从旧字典生成指定字段的新字典?

从字典中提取指定键生成新字典的简洁实现

以下几种都是无需显式写for循环(底层实现仍有循环,但代码写法简洁)的方案,适合Python新手快速实现需求:

  • 字典推导式(推荐)
    这是Python中最直观简洁的写法,可读性拉满,完全适配你的需求:
a = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
target_keys = ['b','c','d']
b = {k: a[k] for k in target_keys}

如果担心目标键在原字典中不存在(避免触发KeyError),可以额外加存在性判断:

b = {k: a[k] for k in target_keys if k in a}
  • 使用dict()结合生成器表达式
    逻辑和字典推导式一致,只是语法形式不同:
b = dict((k, a[k]) for k in target_keys)
# 同样支持存在性判断
b = dict((k, a[k]) for k in target_keys if k in a)
  • 利用operator.itemgetter(批量取值场景适用)
    如果能确保所有目标键都存在于原字典中,可以用这个方法快速批量取值,再结合zip生成字典:
from operator import itemgetter

values = itemgetter(*target_keys)(a)
b = dict(zip(target_keys, values))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 23:59:55