The builtin filter() function filters out  and returns the elements of an iterable that evaluates to True when a particular function is applied on them.  The itertools.filterfalse() function serves the opposite purpose by filtering out and returning only those elements that  evaluates to False.

ExampleEdit & Run

with filter()

data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

def is_odd(num):
   return num % 2 == 1

odds = filter(is_odd, data)

print(*odds)
Output:
1 3 5 7 9[Finished in 0.010887349024415016s]
ExampleEdit & Run

with filterfalse()

#import the filterfalse function
from itertools import filterfalse

data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

def is_odd(num):
   return num % 2 == 1

evens = filterfalse(is_odd, data)

print(*evens)
Output:
0 2 4 6 8[Finished in 0.011238840874284506s]

As you can see in the above example, the two functions returns opposite results given the same function as key. 

Syntax:
filterfalse(func, iterable)
func Required. The function to be used in filtering. If None is given as the argument, the elements will be filtered by their boolean values.
iterable Required. The iterable object containing the elements to be filtered. 
Parameters:

The function returns an iterator object which returns only those items in the iterable for which function(item) evaluates to False.

ExampleEdit & Run
from itertools import filterfalse

data = [13, 2, 18, 20, 5, 15, 7, 11]

#get elements bigger than 10
result = filterfalse(lambda x: x < 10, data)

print(*result)
Output:
13 18 20 15 11[Finished in 0.012005178956314921s]