Open In App

Python – Occurrence counter in List of Records

Improve
Improve
Like Article
Like
Save
Share
Report

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




# Python3 code to demonstrate
# Occurrence counter in List of Records
# using Counter() + loop
from collections import Counter
 
# Initializing list
test_list = [('Gfg', 1), ('Gfg', 2), ('Gfg', 3), ('Gfg', 1), ('Gfg', 2), ('is', 1), ('is', 2)]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Occurrence counter in List of Records
# using Counter() + loop
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()}
 
# printing result
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”.


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