任何人都可以帮助解释为什么这个Python代码输出:[0]
myli = range(-2,2)
m = list(filter(lambda x: True if abs(x) < 1 else False, myli))
print(m)
回答
它是[0],因为-2和1之间绝对值小于1的唯一数字是0,因为
-2 -> abs(-2) = 2 > 1 # False
-1 -> abs(-1) = 1 == 1 # False
0 -> abs(0) = 0 < 1 # True
1 -> abs(1) = 1 == 1 # False
并且filter函数返回给定的可迭代的子列表,仅由满足给定条件的元素组成。