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

为什么运行Python求偶数和的代码会出现TypeError: 'int' object is not iterable错误

报错原因

reduce() 函数的作用是将传入的函数迭代作用在序列上,最终返回单个累计结果值,你代码里的reduce(toplama,list(ciftler))执行完已经得到了偶数和的整数结果,外层套list()尝试将整数转为列表,而整数不属于可迭代对象,因此触发TypeError: 'int' object is not iterable报错。

修复方案

直接去掉reduce外层的list()调用即可,修改后的对应代码行如下:

sonuc = reduce(toplama, ciftler)

完整可运行代码:

from functools import reduce

liste = [1,2,3,4,5,6,7,8,9,10]

def cift_mi(a):
    return a % 2 == 0

ciftler = list(filter(cift_mi, liste))

def toplama(a,b):
    return a + b

sonuc = reduce(toplama, ciftler)

print(sonuc)

如果你不需要刻意练习reduce的用法,还可以直接用Python内置的sum()函数计算序列和,代码更简洁:

liste = [1,2,3,4,5,6,7,8,9,10]
sonuc = sum(x for x in liste if x % 2 == 0)
print(sonuc)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:27:02