📅  最后修改于: 2023-12-03 15:09:14.515000             🧑  作者: Mango
在 Python 中,我们通常需要知道一个列表或一个序列中各个元素出现的频率。在本文中,我们将探索获取 Python 列表中每个元素频率的方法。
Counter 是 Python 中用于计数的一个类,可以用于表示一个序列中各个元素出现的次数。使用 Counter 类,我们可以快速获取列表中每个元素出现的频率。
from collections import Counter
lst = [1, 2, 3, 1, 2, 1, 4, 5, 4, 3]
count = Counter(lst)
print(count)
上面的代码将输出:
Counter({1: 3, 2: 2, 3: 2, 4: 2, 5: 1})
其中,Counter 对象的键是列表中的元素,值是该元素在列表中出现的次数。
numpy 是 Python 中用于数值计算的一个模块,除了数学计算外,它也包含了用于操作数组和矩阵的函数。使用 numpy,我们可以方便地计算列表中每个元素出现的频率。
import numpy as np
lst = [1, 2, 3, 1, 2, 1, 4, 5, 4, 3]
freq = np.bincount(lst)
print(freq)
上面的代码将输出:
[0 3 2 2 2 1]
以上输出中,freq
数组的下标表示元素的值,对应的值表示该元素在列表中出现的次数。
使用字典也是一种获取 Python 列表中各个元素频率的方法。我们可以遍历列表中的每个元素,将其作为字典的键,若字典中已存在该键,则将该键对应的值加 1,否则将该键添加到字典中,并将其值设为 1。
lst = [1, 2, 3, 1, 2, 1, 4, 5, 4, 3]
freq = {}
for i in lst:
if i in freq:
freq[i] += 1
else:
freq[i] = 1
print(freq)
上面的代码将输出:
{1: 3, 2: 2, 3: 2, 4: 2, 5: 1}
本文介绍了三种获取 Python 列表中各个元素频率的方法:使用 Counter 对象、使用 numpy 模块和使用字典。无论您选择哪种方法,都可以轻松地获取列表中每个元素的出现频率。