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

Python字典中对匹配正则的键对应值求和出现类型错误如何解决

报错原因

你遇到的unsupported operand type(s) for +: 'int' and 'dict_values'报错,是因为错误地将整个字典的dict_values对象直接传入求和逻辑,没有将符合正则匹配规则的键和它对应的取值做关联。

正确实现代码

两种常用的实现方式都可以达到累加匹配键对应取值的效果:

  • 沿用原有遍历键的逻辑,直接取匹配键对应的value参与求和:
sum(mydict[key] for key in mydict.keys() if re.match(r'^D\d{2}$', key))
  • 直接遍历字典的键值对,键匹配时返回对应value参与求和:
sum(value for key, value in mydict.items() if re.match(r'^D\d{2}$', key))
补充说明
  • 正则表达式前添加r前缀是Python正则的最佳实践,可以避免转义字符被提前解析产生冲突。
  • 如果匹配到的键对应的value可能存在非数值类型(如字符串、嵌套字典等),需要额外添加类型校验逻辑,避免出现新的类型错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:24:07