在 Python 中计算数组中所有元素的频率\

pythonserver side programmingprogramming

在本教程中,我们将编写一个程序来查找数组中所有元素的频率。我们可以用不同的方法找到它,让我们探索其中的两种。

使用字典

  • 初始化数组。

  • 初始化一个空的字典

  • 遍历列表。

    • 如果元素不在字典中,则将值设置为1

    • 否则将值增加1

  • 通过遍历字典打印元素和频率。

示例

让我们看看代码。

#初始化列表
arr = [1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3]
# 初始化字典以存储每个元素的频率
elements_count = {}
# 迭代元素以获取频率
for element in arr:
   # 检查它是否在字典中
   if element in elements_count:
      # 将计数增加 1
      elements_count[element] += 1
   else:
      # 将计数设置为 1
      elements_count[element] = 1
# 打印元素频率
for key, value in elements_count.items():
   print(f"{key}: {value}")

输出

如果你运行上述程序,你将得到以下结果。

1: 3
2: 4
3: 5

让我们看看使用 collections 模块的 Counter 类的第二种方法。

使用 Counter 类

  • 导入 collections 模块。

  • 初始化数组。

  • 将列表传递给 Counter 类。并将结果存储在变量中。

  • 通过迭代结果打印元素和频率。

示例

参见下面的代码。

# 导入 collections 模块
import collections
# 初始化 arr
arr = [1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3]
# 使用 Counter 类获取元素频率
elements_count = collections.Counter(arr)
# 打印元素和频率
for key, value in elements_count.items():
   print(f"{key}: {value}")

输出

如果运行上述代码,您将获得与上一个相同的输出。

1: 3
2: 4
3: 5

结论

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


相关文章