我可以使用filter()包括多个条件吗?例如,如果我有这样的代码。
nums = [3, 7, 10, 29, 39, 55, 67, 77, 107]
res = list(filter(lambda x: x > 60, nums))
print(res)
如何使用过滤器来包含大于60的数字和小于20的数字?
答案 0 :(得分:1)
您不应使用过滤器,而应使用列表理解
[x for x in nums if x < 20 or x > 60]
您可以使用过滤器执行相同的操作,但这将很麻烦
list(filter(lambda x: x < 20 or x > 60, nums))
答案 1 :(得分:0)
Chained comparisons(具有列表理解功能)在这里可能是合适的:
[x for x in nums if not 20 <= x <= 60]