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

Python 3 对字典值求和结果不符合预期,是什么原因?

问题原因与解决方案

你遇到的问题是Python内置求和函数sum被意外覆盖导致的。
你使用的Python 3.9版本属于Python 3系列,dict.values()返回的dict_values视图本身是合法的可迭代对象,完全可以作为内置sum函数的入参,正常运行你给出的两行测试代码,一定会返回预期的结果6。

常见触发场景

  • 你此前在当前Spyder的运行环境中,使用sum作为变量名做过赋值,例如运行过sum = my_dict.values()这类代码
  • 你此前自定义了同名的sum函数,例如写过def sum(iterable): return iterable这类直接返回入参的函数

验证方法

你可以在出问题的Spyder控制台运行以下代码确认覆盖问题:
print(sum)
如果输出结果不是<built-in function sum>,即可确认sum已被自定义内容覆盖。

解决方案

  • 重启Spyder的IPython内核,清空所有已加载的变量和自定义函数,再重新运行你的测试代码,即可得到正确的求和结果
  • 后续编码注意不要使用sum、list、dict这类Python内置关键字/函数名作为自定义变量名,避免出现功能覆盖的异常问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:30:04