Open In App

# 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.