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 ) |
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 ) |
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. |
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) |
Even count: 2 Odd count: 3
Time Complexity: O(N), where N is the length of dict
Auxiliary Space: O(N)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!