我迷惑關於濾鏡功能在Python 3.X 假設下一個代碼的行爲:過濾器過濾列表在Python 3
>>> test = [1, 2, 3, 4, 5, 6, 7, 8]
>>> for num in range(4):
test = filter(lambda x: x != num, test)
>>> print(list(test))
# [1, 2, 4, 5, 6, 7, 8]
我在想,測試變量將包含的結果連續過濾範圍(4)中存在的值(num),但最終列表完全不被過濾!
有人可以向我解釋這種行爲嗎?並且如果可能的話如何得到預期的結果 #[4,5,6,7,8]
注意:我原來的代碼並不是這麼簡單,但這只是爲了說明我發現我的錯誤。
我剛剛運行代碼它在python2.7上完美工作。你確定它在python 3中不起作用嗎? – RafaelC