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

如何简化Python字典值更新:基于原值子串修改

Python标准库的dict.update()确实没有Dart那种支持回调获取原值的用法,但你可以自己实现类似的功能,避免重复写键名。

方法一:自定义工具函数

写一个通用函数封装“根据原值更新字典键值”的逻辑:

def update_dict_key(d, key, callback):
    d[key] = callback(d[key])

# 调用示例
my_dict = {'key': '这是一段超过100字符的测试文本,用来演示如何截取前100个字符的操作,确保能看到效果,再加点内容凑够长度'}
update_dict_key(my_dict, 'key', lambda v: v[:100])

方法二:继承dict扩展方法

如果需要频繁使用这个功能,可以继承dict类,给它加一个专属方法:

class EnhancedDict(dict):
    def update_with_callback(self, key, callback):
        self[key] = callback(self[key])

# 调用示例
my_dict = EnhancedDict({'key': '这是一段超过100字符的测试文本,用来演示如何截取前100个字符的操作,确保能看到效果,再加点内容凑够长度'})
my_dict.update_with_callback('key', lambda v: v[:100])

额外说明

Python原生没有内置这种方法,是因为它的设计更倾向于用简单的自定义工具解决这类场景,保持标准库的轻量化。如果只是偶尔用一次,原写法dict['key'] = dict['key'][:100]也足够简洁,但频繁使用的话,上面的自定义方式能帮你减少重复代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:07:36