Saturday, November 16, 2024
Google search engine
HomeLanguagesPython program to print even numbers in a list

Python program to print even numbers in a list

Given a list of numbers, write a Python program to print all even numbers in the given list.

Example: 

Input: list1 = [2, 7, 5, 64, 14]
Output: [2, 64, 14]
Input: list2 = [12, 14, 95, 3]
Output: [12, 14]

Method 1: Using for loop

Iterate each element in the list using for loop and check if num % 2 == 0. If the condition satisfies, then only print the number. 

Python3




# Python program to print Even Numbers in a List
 
# list of numbers
list1 = [10, 21, 4, 45, 66, 93]
 
# iterating each number in list
for num in list1:
 
    # checking condition
    if num % 2 == 0:
        print(num, end=" ")


Output

10 4 66 

Time Complexity: O(N)
Auxiliary Space: O(1), As constant extra space is used.

Method 2: Using while loop 

Python3




# Python program to print Even Numbers in a List
 
# Initializing list and value
list1 = [10, 24, 4, 45, 66, 93]
num = 0
 
# Uing while loop
while(num < len(list1)):
 
    # Cecking condition
    if list1[num] % 2 == 0:
        print(list1[num], end=" ")
 
    # increment num
    num += 1


Output

10 24 4 66 

Time Complexity: O(N)
Auxiliary Space: O(1), As constant extra space is used.

Method 3: Using list comprehension 

Python3




# Python program to print even Numbers in a List
 
# Initializing list
list1 = [10, 21, 4, 45, 66, 93]
 
# using list comprehension
even_nos = [num for num in list1 if num % 2 == 0]
 
print("Even numbers in the list: ", even_nos)


Output

Even numbers in the list:  [10, 4, 66]

Time Complexity: O(N)
Auxiliary Space: O(N), As constant extra space is used.

Method 4: Using lambda expressions 

Python3




# Python program to print Even Numbers in a List
 
# list of numbers
list1 = [10, 21, 4, 45, 66, 93, 11]
 
 
# we can also print even no's using lambda exp.
even_nos = list(filter(lambda x: (x % 2 == 0), list1))
 
print("Even numbers in the list: ", even_nos)


Output

Even numbers in the list:  [10, 4, 66]

Time Complexity: O(n) as we are iterating through each element of the list only once.
Auxiliary Space: O(n) as a new list is created to store the even numbers from the given list.

Method 5: Using Recursion

Python3




# Python program to print
# even numbers in a list using recursion
 
 
def evennumbers(list, n=0):
 
    # base case
    if n == len(list):
        exit()
    if list[n] % 2 == 0:
        print(list[n], end=" ")
     
    # calling function recursively
    evennumbers(list, n+1)
 
# Initializing list 
list1 = [10, 21, 4, 45, 66, 93]
 
print("Even numbers in the list:", end=" ")
evennumbers(list1)


Output

Even numbers in the list: 10 4 66 

Time complexity: O(n), The time complexity of this algorithm is O(n), where n is the length of the list, since it traverses the list only once.
Auxiliary Space: O(n), The auxiliary space is O(n) as the recursion needs to store the list and the parameters of the function in the call stack.

Method 6: Using enumerate function 

Python3




list1 = [2, 7, 5, 64, 14]
for a, i in enumerate(list1):
    if i % 2 == 0:
        print(i, end=" ")


Output

2 64 14 

Time Complexity: O(n)
Auxiliary Space: O(1)

Method 7: Using pass 

Python3




list1 = [2, 7, 5, 64, 14]
for i in list1:
    if (i % 2 != 0):
        pass
    else:
        print(i, end=" ")


Output

2 64 14 

Time complexity: O(n), where n is total number of values in list1.

Auxiliary Space: O(1)

Method 8: Using numpy.array

Python3




# Python code To print all even numbers
# in a given list using numpy array
import numpy as np
 
# Declaring Range
temp = [2, 7, 5, 64, 14]
li = np.array(temp)
 
# printing even numbers using numpy array
even_num = li[li % 2 == 0]
print(even_num)


Output:

[ 2 64 14]

Time complexity: O(N), where n is the number of elements in the input list. 
Auxiliary space: O(N)

Method 9: Using not and Bitwise & operator 

we can find whether a number is even or not using & operator. We traverse all the elements in the list and check if not element&1. If condition satisfied then we say it is an even number

Python3




#python program to print all even no's in a list
#defining list with even and odd numbers
list1=[39,28,19,45,33,74,56]
#traversing list using for loop
for element in list1:
  if not element&1#condition to check even or not
    print(element,end=' ')


Output

28 74 56 

Time Complexity: O(N)
Auxiliary Space: O(1), As constant extra space, is used.

Method 10: Using bitwise | operator

we can find whether a number is even or not using | operator. We traverse all the elements in the list and check if not element | 1 == element. If the condition satisfied, then we say it is an odd number. 

Python3




# Python program to print all even no's in a list
 
 
# Defining list with even and odd numbers
# Initializing list
list1=[39,28,19,45,33,74,56]
 
# Traversing list using for loop
for element in list1:
     
    # condition to check even or not
    if  element|1 != element:
        print(element,end=' ')


Output

28 74 56 

Time Complexity: O(N)
Auxiliary Space: O(1), As constant extra space, is used

Method 11: Using reduce method:

Python3




# Using the reduce function from the functools module
from functools import reduce
list1 = [39,28,19,45,33,74,56]
even_numbers = reduce(lambda x, y: x + [y] if y % 2 == 0 else x, list1, [])
for num in even_numbers:
    print(num, end=" ")
    #This code is contributed by Jyothi pinjala


Output

28 74 56 

Time Complexity: O(n)
Auxiliary Space: O(n)

Method 12: Using numpy.where() method:

Note: install numpy module using command “pip install numpy”

Algorithm:

  1. First, we import the NumPy library.
  2. We define the input list list1.
  3. Using numpy.array(), we convert the list to a NumPy array arr.
  4. Next, we use the numpy.where() method to find the indices of the even numbers in the array.
  5. Using these indices, we extract the even numbers from the array arr using indexing.
  6. Finally, we print the extracted even numbers.

Python3




import numpy as np
  
# given list
list1 = [2, 7, 5, 64, 14]
  
# converting list to numpy array
arr = np.array(list1)
  
# finding even numbers using where() method
even_num = arr[np.where(arr % 2 == 0)]
  
# printing even numbers
print(even_num)


Output:

[ 2 64 14] 

Time Complexity: O(N) as the numpy.where() method takes O(N) time to find the indices of the even numbers in the array, where N is the length of the array. Indexing the array to extract the even numbers takes O(1) time for each element. Therefore, the overall time complexity of the method is O(N).
Auxiliary Space: O(N) as the space complexity of this method is O(N), as we are creating a new NumPy array to store the input list.

Method 13: Using itertools.filterfalse method

Algorithm: 

  1. Import filterfalse method from itertools. 
  2. Initialize test list. 
  3. Use filterfalse method which works on the condition if the element does not satisfy the condition then it adds to the result else filter out from the result.
  4. Print the result. 

Python3




# Using the filterfalse function from the itertools module
from itertools import filterfalse
 
# Test list1
list1 = [39, 28, 19, 45, 33, 74, 56]
 
# filtering even number
even_numbers = filterfalse(lambda y: y % 2, list1)
 
# Printing result
for num in even_numbers:
    print(num, end=" ")


Output:

28 74 56 

Time Complexity: O(N) Where N is the length of test list. 
Auxiliary Space: O(M) Where M is the length of even_numbers list. 

RELATED ARTICLES

Most Popular

Recent Comments