In this article, we will discuss different ways to select even numbers from a list in Python.
Table Of Contents
Introduction
Suppose we have a list, that contains only numbers. Like this,
[10, 11, 11, 23, 14, 36, 12, 20, 18, 171, 78, 91, 9, 10]
We want to fetch only even numbers from this list. Like this,
[10, 14, 36, 12, 20, 18, 78, 10]
There are different ways to do this. Let’s discuss them one by one.
Method 1: Using List Comprehension
To fetch even numbers from a list, iterate over all numbers of the list using List comprehension, and select only even numbers. This selection can be done by using an if condition inside the List comprehension. To check if a given number is even or not, divide it by 2, if the reminder is 0, then it means that the given number is even. Let’s see an example,
# List of Numbers listOfNumbers = [10, 11, 11, 23, 14, 36, 12, 20, 18, 171, 78, 91, 9, 10] # Select only even numbers from a list in Python evenNumbers = [elem for elem in listOfNumbers if elem % 2 == 0] print(evenNumbers)
Output:
[10, 14, 36, 12, 20, 18, 78, 10]
We fetched only even numbers from the list.
Method 2: Using List Comprehension & AND operator
This solution is similar to previous one. But with just one difference. Although, we will iterate over all numbers of list, and select only even numbers using List Comprehension. But we will use different logic, to check if a number is even or not. Apply an AND operation between a number and digit 1, if it returns 0, then it means the given number is even. Let’s see an example,
# List of Numbers listOfNumbers = [10, 11, 11, 23, 14, 36, 12, 20, 18, 171, 78, 91, 9, 10] # Select only even numbers from a list in Python evenNumbers = [elem for elem in listOfNumbers if (elem & 1) == 0] print(evenNumbers)
Output:
[10, 14, 36, 12, 20, 18, 78, 10]
We fetched only even numbers from the list.
Method 3: Using For Loop
This solution is similar to previous one. But with just one difference. We will use direct for loop, instead of List Comprehension. Iterate over all numbers in list using a for loop, and select even numbers only. To check if a given number is even or not, divide it by 2. If the reminder is 0, then it means the given number is even. Let’s see an example,
# List of Numbers listOfNumbers = [10, 11, 11, 23, 14, 36, 12, 20, 18, 171, 78, 91, 9, 10] # An empty list to hold even numbers evenNumbers = [] # Iterate over all elements of list for elem in listOfNumbers: # Check if given element/number is even if elem % 2 == 0: # If number is even then add in new list evenNumbers.append(elem) print(evenNumbers)
Output:
[10, 14, 36, 12, 20, 18, 78, 10]
We fetched only even numbers from the list.
Summary
We learned about three different ways to select only even numbers from a list in Python. Thanks.