首页 > 解决方案 > Python:在多维列表中按范围查找索引

问题描述

我是python的新手。例如,我有这个列表:

[[1, 10],[11, 20],[21,30]]

然后我有一个数字 17。如何按范围查找索引。数字 17 介于 11 和 20 之间。索引将为 1。我可以使用循环来完成。有没有内置函数没有循环的方法?

标签: pythonpython-3.x

解决方案


这似乎是做你需要做的最简单的方法:

ranges = [[1, 10],[11, 20],[21,30]]
n = 17
for i, r in enumerate(ranges):
    if n in range(r[0], r[1]+1):
        print(i)
        break

顺便说一句,对于您拥有的范围,您可以采用更数学的方法:

index = (n-1) // 10

推荐阅读