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 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 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 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 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)