使用集合模块计算Python中数组中所有元素的频率
给定一个可以包含 n 个整数的 n 个整数的未排序数组。数组中存在的所有元素的计数频率。
例子:
Input : arr[] = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5]
Output : 1 -> 4
2 -> 4
3 -> 2
4 -> 1
5 -> 2
这个问题可以通过多种方式解决,请参考数组链接中所有元素的计数频率。在Python中,我们可以通过使用 Collections 模块快速解决这个问题。
# Function to count frequency of each element
import collections
# it returns a dictionary data structure whose
# keys are array elements and values are their
# corresponding frequencies {1: 4, 2: 4, 3: 2,
# 5: 2, 4: 1}
def CountFrequency(arr):
return collections.Counter(arr)
# Driver function
if __name__ == "__main__":
arr = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5]
freq = CountFrequency(arr)
# iterate dictionary named as freq to print
# count of each element
for (key, value) in freq.items():
print (key, " -> ", value)
输出:
1 -> 4
2 -> 4
3 -> 2
4 -> 1
5 -> 2
相关文章:
使用Python中的字典计算列表中的频率