Open In App

Python program to count Even and Odd numbers in a Dictionary

Improve
Improve
Like Article
Like
Save
Share
Report

Given a python dictionary, the task is to count even and odd numbers present in the dictionary.

Examples:

Input : {‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’ : 5}
Output : Even = 2, odd = 3
Input : {‘x’: 4, ‘y’:9, ‘z’:16}
Output : Even = 2, odd = 1

Approach using values() Function: Traverse the dictionary and extract its elements using values() function and for each extracted value, check if it is even or odd. Finally, print the respective counts.

Python3




# Python3 Program to count even and
# odd numbers present in a dictionary
 
# Function to count even and odd
# numbers present in a dictionary
def countEvenOdd(dict):
     
    # Stores count of even
    # and odd elements
    even = 0
    odd = 0
     
    # Traverse the dictionary
    for i in dict.values():
       
      if i % 2 == 0:
        even = even + 1
      else:
        odd = odd + 1
         
    print("Even Count: ", even)
    print("Odd Count: ", odd)
 
# Driver Code
 
dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
countEvenOdd(dict)


Output:

Even Count:  2
Odd Count:  3

Time Complexity: O(N), where N is the length of dict
Auxiliary Space: O(1)

Alternate Approach: Iterate over each item in the dictionary, and for each element, check if it is even or odd.  Finally, print the respective counts.

Python3




# Python3 Program to count even
# and odd elements in a dictionary
 
# Function to count even and
# odd elements in a dictionary
def countEvenOdd(dict):
  even = 0
  odd = 0
   
  # Iterate over the dictionary
  for i in dict:
     
    # If current element is even
    if dict[i] % 2 == 0:
       
      # Increase count of even
      even = even + 1
       
    # Otherwise
    else:
       
      # Increase count of odd
      odd = odd + 1
       
  print("Even count: ", even)
  print("Odd count: ", odd)
     
# Driver Code
 
# Given Dictionary
dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
 
countEvenOdd(dict)


Output:

Even count:  2
Odd count:  3

Time Complexity: O(N), where N is the length of dict
Auxiliary Space: O(1) 

Approach : Using bitwise & operator

Python3




# Python3 Program to count even
# and odd elements in a dictionary
#using bitwise operator
 
def fun1(x):
    if(x&1!=0): # Using bitwise opearor
        return x
# Given Dictionary
dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
x=list(dict.values())
y=filter(fun1,x)
odd=len(list(y))
even=len(x)-odd
print("Even count: ", even)
print("Odd count: ", odd)
 
#This code contributed by vinay pinjala.


Output

Even count:  2
Odd count:  3

Time Complexity: O(N), where N is the length of dict
Auxiliary Space: O(N)

Approach : Using values(),filter() and len() methods

Python3




# Python3 Program to count even
# and odd elements in a dictionary
 
def fun1(x):
    if(x%2==0):
        return x
# Given Dictionary
dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
x=list(dict.values())
y=filter(fun1,x)
even=len(list(y))
odd=len(x)-even
print("Even count: ", even)
print("Odd count: ", odd)


Output

Even count:  2
Odd count:  3

Time Complexity: O(N), where N is the length of dict
Auxiliary Space: O(N)



Last Updated : 10 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads