Trusted answers to developer questions

abhilash

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

In Python, ** itertools** is a module which provides functions that help to iterate through

`iterables`

very quickly.The ** filterfalse method** in the

`itertools`

module accepts a `predicate`

and an `iterable`

. The method returns the elements of the `iterable`

for which the `predicate`

is `False`

. The method ignores the elements from the `iterable`

for which the predicate returns `True`

.```
filterfalse(predicate, iterable)
```

: The predicate function accepts an input and returns a boolean value. It can be an in-built function, user-defined function, or a lambda function.`predicate`

: This is the list or string while this method is applied.`iterable`

We use a user-defined function as a predicate in the code below:

import itertoolslst = range(10)def is_even(x):return x % 2 == 0new_lst = list(itertools.filterfalse(is_even, lst))print(new_lst)

User-defined function as a predicate

- Line 1: We import the
`itertools`

module. - Line 3: We define an iterable of numbers called
`lst`

ranging from`0`

to`9`

using the`range()`

method. - Lines 5 to 6: We define a method called
`is_even`

to check whether a given number is even or odd. - Line 8: We apply the
`is_even`

method on`lst`

using the`filterfalse`

method. The result is called`new_lst`

. - Line 10: We print
`new_lst`

.

The output consists of odd numbers from the given iterable because odd numbers result in a `false`

value when the `is_even`

predicate is applied to them.

We use the lambda function as a predicate in the code below:

import itertoolslst = range(10)is_even = lambda x:x%2==0new_lst = list(itertools.filterfalse(is_even, lst))print(new_lst)

Lambda function as predicate

- Line 1: We import the
`itertools`

module. - Line 3: We define an iterable of numbers called
`lst`

ranging from`0`

to`9`

using the`range()`

method. - Lines 5: We define a lambda function called
`is_even`

that determines whether a given number is even or odd. - Line 7: We apply the
`is_even`

lambda function on`lst`

using the`filterfalse`

method. The result is called`new_lst`

. - Line 9: We print
`new_lst`

.

The output consists of odd numbers from the given iterable because odd numbers result in a `false`

value when the `is_even`

predicate is applied to them.

RELATED TAGS

python

iterators

communitycreator

CONTRIBUTOR

abhilash

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring

Related Courses