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

统计混合类型列表中嵌套列表元素时遇TypeError问题求助

问题排查与解决

报错原因

你的代码直接对列表l里的每个元素i执行for j in i循环,但列表里包含整数(比如1、2、5),整数不是可迭代对象,没法用for循环遍历,所以触发TypeError: 'int' object is not iterable。另外,列表里还有字符串元素(比如'jordan'),就算没触发整数的错误,后续遍历字符串字符时执行j%2==0也会因为字符不能做取余运算报错。

修复后的代码

count = 0
l = [1,2,3,['albert','nick'],5,[7,5,4],'jordan']
for i in l:
    # 只处理嵌套的列表元素
    if isinstance(i, list):
        for j in i:
            # 只对整数元素判断是否为偶数
            if isinstance(j, int) and j % 2 == 0:
                count += 1
print(count)
print(l)

代码说明

  • 用isinstance(i, list)判断当前元素是否为嵌套列表,只处理这类元素,跳过整数、字符串等非列表元素。
  • 遍历嵌套列表内的元素时,先判断j是否为整数,避免对字符串元素执行取余操作导致报错。
  • 只有当元素是整数且为偶数时,才给计数器加1,最终统计出嵌套列表里的偶数个数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:12:06