Filtering a list means keeping only those items in the list that statisfy a particular condition. For example, filtering [1, 2, 3, 4, 5, 6]
for even numbers will result in [2, 4, 6]
.
In Python, you can filter a list in the following ways.
Use For Loop to Filter List
Use for loop to iterate over the items of the list and create a new list with items that satisfy the given condition.
numbers = [1, 2, 3, 4, 5, 6]
even = []
for x in numbers:
if x%2 == 0:
even.append(x)
print(even)
# [2, 4, 6]
Use List Comprehension to Filter List
Use the list comprehension
syntax [item for item in list if condition]
with list
and condition
to filter the items that statify the given condition
.
numbers = [1, 2, 3, 4, 5, 6]
even = [item for item in numbers if item%2 == 0]
print(even)
# [2, 4, 6]
Use filter() to Filter List
Call the filter(function, list)
function with list
and function to get iterable containing items from the given list
for which the function
returns True
.
Call the list(itreable)
with iterable
as the parameter to construct the new list.
def isEven(num):
return num%2 == 0
numbers = [1, 2, 3, 4, 5, 6]
iterable = filter(isEven, numbers)
print(list(iterable))
# [2, 4, 6]