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

Python统计列表可被x整除元素遇嵌套列表触发TypeError如何修复

修复方案

你需要增加嵌套列表的递归处理逻辑,修改后的代码如下:

def my_div_calc(l, x):
    total = 0
    for i in l:
        # 遇到嵌套列表则递归统计子列表的符合条件元素
        if isinstance(i, list):
            total += my_div_calc(i, x)
        # 仅对数值类型做整除判断
        elif isinstance(i, (int, float)):
            if i % x == 0:
                total += 1
    return total

修改说明

  • 删掉了原代码中无用的i/x语句,该语句没有赋值也没有判断逻辑,不影响计算结果仅会浪费性能
  • 新增列表类型判断逻辑,遇到嵌套列表时递归调用当前函数,把子列表的统计结果累加到总计数中
  • 将原有的type判断替换为isinstance,兼容性更强,同时支持多类型合并判断的写法更简洁
  • 去掉了无操作逻辑的else: sum += 0分支,冗余分支可直接省略
  • 将变量名从sum改为total,避免覆盖Python内置的sum()函数

效果验证

你给出的两个测试用例均可正常运行:

  • 普通列表l = [1,3,3, 'hello']、x=3,调用函数返回2,符合预期
  • 嵌套列表l = [1,3,[3], 'hello']、x=3,调用函数返回2,符合预期且不会抛出类型错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:09:03