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

如何判断列表元素是否处于对应子列表的数值区间?

解决方案

首先定义原始数据:

listA = [0.04870086, 0.57480212, 0.89015539, 2.3233615, 4.55812396, 7.13551459,
         -1.08155996, 2.17696328, -2.63679501, -2.33568303, 1.44485836, 2.57565872,
         1.49871307, 0.26896593, 4.91618077]
listB = [[-0.006242951417219811, 0.2695363035421434], [0.18216832098326075, 1.2135053544677805],
         [-5.7767682655295856, 8.644974491878234], [-2.6175178748619965, 11.350843901384977],
         [-3.5832555764006813, 19.889930736681176], [-18.98605217513358, -0.44537447407901887],
         [-4.66448539414492, 10.687900677104983], [-8.502439858318859, 3.8546296063721726],
         [-17.319599857758103, 18.476221095928576], [-5.287099091734136, 7.830321030743221],
         [-11.37116751629717, 24.648615759994385], [-8.133549393916292, 5.702535573546525],
         [-10.412791226300737, 13.0758676055572], [-3.5332459196432042, 13.790340644751073],
         [1.1737906639770186, 9.66211063676472]]

使用循环实现区间判断的代码:

result = []
for a, interval in zip(listA, listB):
    # 统一区间上下限,避免子列表数值顺序颠倒
    lower = min(interval)
    upper = max(interval)
    # 判断元素是否在区间内(包含边界)
    result.append(lower <= a <= upper)

print(result)

运行结果

[True, True, True, True, True, False, True, True, True, True, True, True, True, True, True]

说明

  • 用zip同步遍历两个列表的对应位置元素,保证每一组判断的位置匹配
  • 先计算区间的最小和最大值,解决listB中部分子列表大值在前的情况(比如第6个区间[-18.986..., -0.445...])
  • 最终结果是布尔值列表,每个元素对应listA中元素是否处于listB对应区间内

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:00:47