Есть несколько способов, этот кажется не таким уж плохим:
def in_range(number : int, arange : range) -> bool:
return number in arange
ranges = [range(6), range(4, 14), range(10, 20), range(12, 34)]
results = list(filter(lambda arange : in_range(5, arange), ranges))
print(results)
[диапазон (0, 6), диапазон (4, 14)]
Вы можете упростить это, как это.
def in_range(number : int, ranges : List[range]) -> List[range]:
return [arange for arange in ranges if number in arange]
ranges = [range(6), range(4, 14), range(10, 20), range(12, 34)]
print(in_range(6, ranges))
[диапазон (0, 6), диапазон (4, 14)]
Вы можете узнать это на лету.
def in_range(number : int, start : int, stop : int) -> bool:
return number in range(start,stop)
Редактировать 1
Вы также можете использовать any
или хотите проверить его на наличие float, в этом случае посмотрите @ chepner комментарий.