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

如何统计列表中落在给定区间内的数字总个数

统计列表指定区间内数字数量的实现方案

原代码问题分析

你给出的代码存在核心逻辑错误:

  • count = 0 初始化放在for循环内部,每遍历一个元素就会把计数重置为0,最终返回的只会是最后一个元素是否符合区间的结果(0或1),和预期的总计数完全不符
  • 现有判断逻辑是开区间a < i < b,即不包含a和b两个端点,如果你的需求是包含端点的闭区间,需要修改判断条件

修正后代码

def between(lst, a, b):
    count = 0
    for i in lst:
        if a < i < b:
            count += 1
    return count

如果需要统计包含区间端点的闭区间范围,将判断条件修改为a <= i <= b即可。

如果需要更简洁的Python写法,可以直接用生成器表达式配合sum函数实现,逻辑等价:

def between(lst, a, b):
    return sum(1 for i in lst if a < i < b)

调用示例

比如统计列表[1,3,5,7,9]中大于2小于8的数字数量:

print(between([1,3,5,7,9], 2, 8))
# 输出结果为3,符合要求的数字是3、5、7

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:27:03