Tutorial by Examples

To filter discards elements of a sequence based on some criteria: names = ['Fred', 'Wilma', 'Barney'] def long_name(name): return len(name) > 5 Python 2.x2.0 filter(long_name, names) # Out: ['Barney'] [name for name in names if len(name) > 5] # equivalent list comprehension #...
If the function parameter is None, then the identity function will be used: list(filter(None, [1, 0, 2, [], '', 'a'])) # discards 0, [] and '' # Out: [1, 2, 'a'] Python 2.x2.0.1 [i for i in [1, 0, 2, [], '', 'a'] if i] # equivalent list comprehension Python 3.x3.0.0 (i for i in [1, 0...
filter (python 3.x) and ifilter (python 2.x) return a generator so they can be very handy when creating a short-circuit test like or or and: Python 2.x2.0.1 # not recommended in real use but keeps the example short: from itertools import ifilter as filter Python 2.x2.6.1 from future_built...
There is a complementary function for filter in the itertools-module: Python 2.x2.0.1 # not recommended in real use but keeps the example valid for python 2.x and python 3.x from itertools import ifilterfalse as filterfalse Python 3.x3.0.0 from itertools import filterfalse which works...

Page 1 of 1