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

如何按百分比修改字典中的所有值?是否需遍历处理?

字典值按百分比批量修改的简便方法

当然有简便方法,不用手动逐个写赋值语句——本质上虽会遍历所有键值对,但可以用更简洁的语法实现:

方法1:字典推导式(生成新字典)

这是最常用的简洁写法,直接生成包含修改后值的新字典:

original_dict = {"a": 100, "b": 1000, "c": 50}
percentage = 2  # 2%
new_dict = {key: value * (1 + percentage / 100) for key, value in original_dict.items()}

执行后new_dict为{"a": 102.0, "b": 1020.0, "c": 51.0},如果需要整数结果,可添加int()转换:

new_dict = {key: int(value * (1 + percentage / 100)) for key, value in original_dict.items()}

方法2:原地修改原字典(不生成新字典)

如果不想创建新字典,直接修改原字典的话,可使用简写循环:

original_dict = {"a": 100, "b": 1000, "c": 50}
percentage = 2
for key in original_dict:
    original_dict[key] *= (1 + percentage / 100)

也可以通过items()遍历键值对实现:

for key, value in original_dict.items():
    original_dict[key] = value * (1 + percentage / 100)

补充说明

如果字典中存在非数值类型的值,可添加类型判断避免报错:

new_dict = {
    key: value * (1 + percentage / 100) if isinstance(value, (int, float)) else value
    for key, value in original_dict.items()
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 07:43:09