【发布时间】:2021-07-10 04:27:00
【问题描述】:
我想编写一个函数inRange,它应该返回一个列表,其中包含所有且仅包含l 的元素,其值介于低和高之间。例如,inRange(3, 10, [2, 3, 7, 17, 10, 7, -9]) 返回[3, 7, 10, 7]。我只能使用 map、filter、reduce、list、lambda 来完成这个功能。
这是我当前不起作用的代码:
def inRange(lo, hi, l):
return list(filter(lambda lo, hi, l: l in range(lo, hi))
print(inRange(10, 20, [10, 14, 16, 17, 20, 21, 23, 12]))
【问题讨论】:
-
return list(filter(lambda n: low < n < hi, l)) -
@joshmeranda 谢谢,只有一个错误,它没有返回 3 或 10,但我用
<=修复了它。