列出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}

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

  • 导入集合模块。

  • 用元素初始化列表。

  • 使用来自集合模块的计数器获取元素的频率。

  • 使用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}

结论

如果您对本文有任何疑问,请在评论部分中提及它们。