Python中元素频率统计


在本文中,我们将学习如何查找Python列表中元素的频率。我们可以通过不同的方法解决这个问题。让我们看看其中的两种方法。

按照以下步骤编写代码。

  • 用元素和一个空字典初始化列表。
  • 迭代元素列表。
    • 检查元素是否已存在于字典中。
    • 如果元素已存在于字典中,则增加其计数。
    • 如果元素不存在于字典中,则将其计数初始化为1。
  • 打印字典。

示例

让我们看看代码。

 在线演示

# initializing the list
random_list = ['A', 'A', 'B', 'C', 'B', 'D', 'D', 'A', 'B']
frequency = {}

# iterating over the list
for item in random_list:
   # checking the element in dictionary
   if item in frequency:
      # incrementing the counr
      frequency[item] += 1
   else:
      # initializing the count
      frequency[item] = 1

# printing the frequency
print(frequency)

如果运行以上代码,则会得到以下结果。

输出

{'A': 3, 'B': 3, 'C': 1, 'D': 2}

按照以下步骤以另一种方式解决问题。我们将使用模块方法来查找元素的频率。

  • 导入collections模块。
  • 用元素初始化列表。
  • 使用collections模块中的Counter获取元素的频率。
  • 使用dict()将结果转换为字典并打印频率。

示例

让我们看看代码。

# importing the module
import collections

# initializing the list
random_list = ['A', 'A', 'B', 'C', 'B', 'D', 'D', 'A', 'B']

# using Counter to find frequency of elements
frequency = collections.Counter(random_list)

# printing the frequency
print(dict(frequency))
{'A': 3, 'B': 3, 'C': 1, 'D': 2}

如果运行以上代码,则会得到以下结果。

输出

{'A': 3, 'B': 3, 'C': 1, 'D': 2}

结论

如果您对本文有任何疑问,请在评论区提出。

更新于:2023年8月26日

48K+ 次浏览

开启您的职业生涯

完成课程后获得认证

开始学习
广告