在 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
结论
如果您对本教程有任何疑问,请在评论部分中提及。