如何从数值列表中筛选出落在给定数值±10区间内的所有数值
区间数值筛选实现方案
你可以通过Python列表推导式快速实现需求,核心逻辑是先计算目标数值的上下区间边界,再遍历列表筛选出落在闭区间内的所有元素,具体实现如下:
基础实现代码
# 初始化输入数据 my_list = [1,5,35,36.3,38,42,44.1,44.8,48,61,70] my_number = 45 # 计算区间上下限 lower = my_number - 10 upper = my_number + 10 # 筛选符合条件的元素 result = [num for num in my_list if lower <= num <= upper] print(result)
运行后输出的结果和预期完全一致:
[35, 36.3, 38, 42, 44.1, 44.8, 48]
可复用函数封装
如果需要多次调用或者灵活调整偏移范围,可以把逻辑封装为函数:
def filter_close_nums(num_list: list, target: float|int, offset: int|float = 10) -> list: lower_bound = target - offset upper_bound = target + offset return [num for num in num_list if lower_bound <= num <= upper_bound] # 调用测试 my_list = [1,5,35,36.3,38,42,44.1,44.8,48,61,70] print(filter_close_nums(my_list, 45))
内容的提问来源于stack exchange,提问作者ayansalt2
相关产品推荐
相关产品推荐

