我试图找到一个库,我可以用它来识别一个数字是否介于两个数字之间,或者我是否必须使用 for 循环和 if 条件遍历每个数字
def get_numbers_in_between(li, x, y):
# x can be bigger than y or vice versa
if x > y:
big = x
small = y
else:
big = y
small = x
nums_in_between = [n for n in li if (n >= small and n <= big)]
return nums_in_between
print(get_numbers_in_between([9, 10, 11, 15, 19, 20, 21], 20, 10))
输出:
[10, 11, 15, 19, 20]
是否有一个库可以自动找出哪个更大/更小(x,y),并将列表作为输入并返回一个包含数字之间的新列表?
请您参考如下方法:
如果您从给定列表开始并需要提取满足条件的列表:
lst = [9, 10, 11, 15, 19, 20, 21]
print([n for n in lst if 10 <= n <= 20])
如果你需要所有的整数就可以了
list(range(10, 20+1))
如果您需要先对最大值和最小值进行排序,这是一个选项:
def get_numbers_in_between(li, x, y):
mx, mn = sorted((x, y))
return [n for n in li if mx <= n <= mn]
print(get_numbers_in_between(li=[9, 10, 11, 15, 19, 20, 21], x=20, y=10))
