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

如何实现如图所示的数组区间条件?

数组区间条件的实现方案

根据需求场景,下面给出几种常见的数组区间条件实现方式,涵盖筛选、验证、分组三类常用操作:

1. 筛选区间内的元素

从数组中挑出所有在[最小值, 最大值]范围内的元素。

Python 代码

def filter_in_range(arr, min_val, max_val):
    # 列表推导式直接筛选符合条件的元素
    return [num for num in arr if min_val <= num <= max_val]

# 实际测试
test_arr = [2, 7, 11, 15, 19, 23]
filtered = filter_in_range(test_arr, 7, 19)
print(filtered)  # 输出: [7, 11, 15, 19]

JavaScript 代码

function filterInRange(arr, minVal, maxVal) {
    // 用数组的filter方法过滤元素
    return arr.filter(num => num >= minVal && num <= maxVal);
}

// 实际测试
const testArr = [2, 7, 11, 15, 19, 23];
const filtered = filterInRange(testArr, 7, 19);
console.log(filtered); // 输出: [7, 11, 15, 19]

2. 验证数组全量符合区间要求

检查数组里的每一个元素是否都落在指定区间内,返回布尔值。

Python 代码

def all_in_range(arr, min_val, max_val):
    # 用all函数遍历验证所有元素
    return all(min_val <= num <= max_val for num in arr)

# 实际测试
test_arr1 = [7, 11, 15]
print(all_in_range(test_arr1, 7, 19))  # 输出: True
test_arr2 = [7, 25, 15]
print(all_in_range(test_arr2, 7, 19))  # 输出: False

JavaScript 代码

function allInRange(arr, minVal, maxVal) {
    // 用数组的every方法做全量验证
    return arr.every(num => num >= minVal && num <= maxVal);
}

// 实际测试
const testArr1 = [7, 11, 15];
console.log(allInRange(testArr1, 7, 19)); // 输出: true
const testArr2 = [7, 25, 15];
console.log(allInRange(testArr2, 7, 19)); // 输出: false

3. 按区间分组元素

把数组元素分配到预先定义好的多个区间组里,比如[0,5)、[5,10)这类区间。

Python 代码

def group_by_ranges(arr, range_defs):
    # 先初始化每个区间对应的空列表
    groups = {desc: [] for desc in range_defs}
    for num in arr:
        for desc in range_defs:
            # 解析区间描述的最小值和最大值
            min_val, max_val = map(int, desc.strip('[]()').split(','))
            # 根据区间开闭调整判断逻辑,这里示例用左闭右开
            if min_val <= num < max_val:
                groups[desc].append(num)
                break
    return groups

# 实际测试
test_arr = [3, 6, 9, 12, 14]
range_defs = ['[0,5)', '[5,10)', '[10,15)']
grouped = group_by_ranges(test_arr, range_defs)
print(grouped)
# 输出: {'[0,5)': [3], '[5,10)': [6,9], '[10,15)': [12,14]}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:25:36