📜  Python|频率等于 K 的元素(1)

📅  最后修改于: 2023-12-03 15:34:21.482000             🧑  作者: Mango

Python|频率等于 K 的元素

在Python中,如果我们有一个列表,想要找出其中出现频率等于K的元素,可以使用Counter来实现。Counter是Python中的一个内置的计数器对象,它可以用来统计某个元素出现的次数,并返回一个字典。

下面是用Counter实现频率等于K的元素的示例代码:

from collections import Counter

def get_elements_with_frequency_k(arr, k):
    counter = Counter(arr)
    return [x for x in counter if counter[x] == k]

使用上述代码,我们可以找出列表中出现频率等于2的元素:

arr = [1, 2, 3, 3, 3, 4, 4]
k = 2
elements = get_elements_with_frequency_k(arr, k)
print(elements)  # 输出 [3]

上述代码中,我们首先导入了collections模块中的Counter类,然后定义了一个名为get_elements_with_frequency_k的函数,该函数输入一个列表和一个整数k,返回出现频率等于k的元素。

在该函数中,我们首先使用Counter计数器对象对列表进行计数操作,然后使用列表推导式过滤掉出现次数不等于k的元素。最后返回过滤后的列表。

需要注意的是,在Counter计数器对象中,每个元素都是字典的一个键,其出现次数则是该键对应的值。

除了Counter之外,Python还提供了其他方式来实现查找频率等于K的元素。有兴趣的读者可以自行了解。