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

是否有函数或方法统计数组各数值区间内的元素总数?

统计数组数值区间元素总数的实现方法

核心思路

先明确要统计的连续数值区间,遍历数组元素时判断其所属区间,最终累加各区间的元素计数即可。

Python 实现示例

以你提供的示例数组 [23,14,67,17,87] 为例,基础实现代码如下:

def count_interval_elements(arr):
    # 初始化各区间计数
    interval_counts = {
        "0-10": 0,
        "10-20": 0,
        "20-30": 0,
        "30-40": 0,
        "40-50": 0,
        "50-60": 0,
        "60-70": 0,
        "70-80": 0,
        "80-90": 0
    }
    
    for num in arr:
        if 0 <= num < 10:
            interval_counts["0-10"] += 1
        elif 10 <= num < 20:
            interval_counts["10-20"] += 1
        elif 20 <= num < 30:
            interval_counts["20-30"] += 1
        elif 30 <= num < 40:
            interval_counts["30-40"] += 1
        elif 40 <= num < 50:
            interval_counts["40-50"] += 1
        elif 50 <= num < 60:
            interval_counts["50-60"] += 1
        elif 60 <= num < 70:
            interval_counts["60-70"] += 1
        elif 70 <= num < 80:
            interval_counts["70-80"] += 1
        elif 80 <= num < 90:
            interval_counts["80-90"] += 1
    
    return interval_counts

# 测试示例数组
sample_arr = [23,14,67,17,87]
result = count_interval_elements(sample_arr)
for interval, count in result.items():
    print(f"{interval}: {count}")

运行后输出结果:

0-10: 0
10-20: 2
20-30: 1
30-40: 0
40-50: 0
50-60: 0
60-70: 1
70-80: 0
80-90: 1

灵活适配方案(动态生成区间)

如果区间是固定步长(比如每10为一个区间),可以不用手动写所有判断逻辑,通过计算动态匹配区间:

def count_dynamic_intervals(arr, step=10, max_range=90):
    interval_counts = {}
    # 自动生成所有区间
    for i in range(0, max_range, step):
        interval = f"{i}-{i+step}"
        interval_counts[interval] = 0
    
    for num in arr:
        # 计算元素所属区间的起始值
        interval_start = (num // step) * step
        # 过滤超出设定最大范围的元素
        if interval_start >= max_range:
            continue
        interval = f"{interval_start}-{interval_start+step}"
        interval_counts[interval] += 1
    
    return interval_counts

# 测试
result = count_dynamic_intervals(sample_arr)
for interval, count in result.items():
    print(f"{interval}: {count}")

修改step(区间步长)和max_range(最大区间上限)就能快速适配不同的区间统计需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:27:23