首页 > 解决方案 > 检查一个值是否在 Python 中的范围列表中?

问题描述

我在这里有两个范围列表:

我正在尝试检查一个值是否在某个范围的任何范围内,如果是,则返回索引。有什么方法可以检查这个而不必做列表理解?

>>> a=range(1,4)
>>> b=range(4,7)
>>> c=range(7,10)
>>> d=[a,b,c]
>>> d
[range(1, 4), range(4, 7), range(7, 10)]
>>> 3 in d[0]
True

标签: pythonlistlist-comprehension

解决方案


def get_range_ind(num, min_val, max_val):
    if num in range(min_val, max_val+1):
        return num - min_val + 1

get_range_ind(6, 3, 9)

>>> 4

推荐阅读