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}
结论
如果您对本文有任何疑问,请在评论区提出。
广告