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

Python中是否有更简洁写法遍历字典项生成新字典且不修改原字典?

回答

当然有,最简洁的原生实现是字典推导式,无需预先创建空字典,也不会修改原字典的任何内容,是Python官方推荐的字典转换写法。

对应你示例里将字典值乘以2的需求,实现代码如下:

a_dictionary = {'one': 1, 'two': 2, 'three': 3, 'four': 4}
result_dict = {x: y * 2 for x, y in a_dictionary.items()}

这种写法的特点:

  • 代码精简,单句即可完成原字典遍历、键值处理、新字典生成全流程,不需要额外调用update等方法
  • 全程仅对原字典做只读遍历,不会修改原字典的键、值内容,完全满足不改动原字典的约束
  • 执行效率高于“先创建空字典再循环赋值/更新”的写法,属于CPython解释器专门优化的语法结构

如果你需要封装复用统一的键值处理逻辑,也可以用dict()构造函数配合map实现:

# 可自定义任意键值处理逻辑,返回格式为(新键, 新值)的元组即可
def process_kv(k, v):
    return (k, v * 2)

result_dict = dict(map(lambda item: process_kv(*item), a_dictionary.items()))

提示:这种写法可读性弱于字典推导式,仅适合处理逻辑需要多处复用的场景,简单转换优先选择字典推导式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:09:24