Python – Occurrence counter in List of Records
Last Updated :
08 Mar, 2023
Sometimes, while dealing with records we can have a problem in which we need count the occurrence of incoming digits corresponding to different characters/players in a game and compile them in a dictionary. This can have application in gaming and web development. Lets discuss a way in which this can be done.
Method : Using loop + Counter()
The combination of above functions can be used to perform this task. In this, we iterate for the elements and compute frequency using Counter() and unique characters are managed by keys of dictionary.
Python3
from collections import Counter
test_list = [( 'Gfg' , 1 ), ( 'Gfg' , 2 ), ( 'Gfg' , 3 ), ( 'Gfg' , 1 ), ( 'Gfg' , 2 ), ( 'is' , 1 ), ( 'is' , 2 )]
print ("The original list is : " + str (test_list))
res = {}
for key, val in test_list:
res[key] = [val] if key not in res else res[key] + [val]
res = {key: dict (Counter(val)) for key, val in res.items()}
print ("Mapped resultant dictionary : " + str (res))
|
Output :
The original list is : [(‘Gfg’, 1), (‘Gfg’, 2), (‘Gfg’, 3), (‘Gfg’, 1), (‘Gfg’, 2), (‘is’, 1), (‘is’, 2)]
Mapped resultant dictionary : {‘is’: {1: 1, 2: 1}, ‘Gfg’: {1: 2, 2: 2, 3: 1}}
Time Complexity: O(n*n) where n is the number of elements in the list “test_list”.
Auxiliary Space: O(n) where n is the number of elements in the list “test_list”.
Share your thoughts in the comments
Please Login to comment...