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

使用dict comprehension对字典值列表求和出现TypeError的问题

字典推导式错误修复

错误原因

  • 你写的推导式多了不必要的第二层循环for n in n_dict[n_key],这层循环会逐个取出列表里的整数赋值给n
  • 调用sum(n)时,n是单个整数,而sum()要求传入可迭代对象,因此触发TypeError: 'int' object is not iterable报错
  • 即使不存在类型错误,这种双层循环的写法也会导致键重复覆盖,最终输出结果不符合预期

正确实现

直接对每个键对应的完整列表求和即可,不需要额外遍历列表元素:

n_dict = {4: [4,1,6], 3: [5,3,9], 2: [8,2,10]}
n_sum = {n_key: sum(n_val) for n_key, n_val in n_dict.items()}
print(n_sum)
# 输出结果:{4: 11, 3: 17, 2: 20}

如果习惯通过键取值的写法,也可以用如下实现:

n_sum = {n_key: sum(n_dict[n_key]) for n_key in n_dict.keys()}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:39:02