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

Python统计列表中1的个数时返回None,求错误排查与解决

代码错误排查与修正

原代码的核心错误

  • enumerate使用错误:enumerate(x)返回的是(索引, 元素)的元组,比如遍历[1,4,5,1,3]时,第一个i是(0,1),永远不可能等于1,导致判断条件if i==1永远不成立。
  • 语法错误:append.result(i)是错误的调用方式,正确的列表追加元素应该是result.append(元素)。
  • 逻辑错误:sum(i)毫无意义,既没有赋值给变量,也和统计1的个数无关;而且return result放在循环内部,第一次循环就会直接返回,根本无法遍历整个列表。
  • 无有效返回值:因为所有判断条件都不触发,函数没有执行到return语句,Python默认会返回None,这就是你看到输出NONE的原因。

修正后的代码

如果只是统计列表中1的个数,不需要用列表存储,用计数器更高效:

def count_ones(lst):
    count = 0
    for num in lst:
        if num == 1:
            count += 1
    return count

c = count_ones([1, 4, 5, 1, 3])
print(c)  # 输出:2

或者用更简洁的Python内置方法:

c = [1, 4, 5, 1, 3].count(1)
print(c)  # 输出:2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:10:44