
APPENDIX A ■ PORTING CODE TO PYTHON 3 WITH 2TO3
306
filter() Global Function
In Python 2, the filter() function returned a list, the result of filtering a sequence through a function
that returned True or False for each item in the sequence. In Python 3, the filter() function returns an
iterator, not a list, as shown in Table A-16.
Table A-16. filter() Returns an Iterator
Notes Python 2 Python 3
(1)
filter(a_function, a_sequence) list(filter(a_function, a_sequence))
(2)
list(filter(a_function, a_sequence))
No Change
(3)
filter(None, a_sequence) [i for i in a_sequence if i]
(4)
in filter(None, a_sequence):
No Change
(5)
[i for i in filter(a_function, ...