📜  使用集合模块计算Python中数组中所有元素的频率

📅  最后修改于: 2022-05-13 01:54:40.735000             🧑  作者: Mango

使用集合模块计算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中的字典计算列表中的频率