Python – 记录列表中的出现计数器
有时,在处理记录时,我们可能会遇到一个问题,即我们需要计算对应于游戏中不同字符/玩家的传入数字的出现,并将它们编译到字典中。这可以应用于游戏和网络开发。让我们讨论一种可以做到这一点的方法。
方法:使用循环+计数器()
上述功能的组合可用于执行此任务。在此,我们使用 Counter() 迭代元素并计算频率,并且唯一字符由字典的键管理。
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))
输出 :
原来的列表是:[('Gfg', 1), ('Gfg', 2), ('Gfg', 3), ('Gfg', 1), ('Gfg', 2), ('is' , 1), ('是', 2)]
映射结果字典:{'is': {1: 1, 2: 1}, 'Gfg': {1: 2, 2: 2, 3: 1}}