Python如何编写程序接收列表并提取出现频率大于K的元素
Python实现提取列表中出现频率大于K的元素
实现思路
- 第一步:统计输入列表中所有元素的出现频次
- 第二步:遍历频次统计结果,筛选出频次大于参数K的元素
- 第三步:返回筛选得到的元素列表即可
代码实现
基于标准库collections.Counter实现(推荐,简洁高效)
from collections import Counter def filter_elements_by_frequency(input_list, k): # 统计每个元素的出现频率 frequency = Counter(input_list) # 筛选符合条件的元素 return [element for element, count in frequency.items() if count > k]
原生Python实现(无需导入额外模块)
def filter_elements_by_frequency(input_list, k): frequency = {} # 手动统计元素频次 for ele in input_list: frequency[ele] = frequency.get(ele, 0) + 1 # 筛选符合条件的元素 return [ele for ele, cnt in frequency.items() if cnt > k]
示例测试
输入列表:
[4, 6, 4, 3, 3, 4, 3, 4, 6, 6]
输入K值:2
调用测试代码:
test_list = [4, 6, 4, 3, 3, 4, 3, 4, 6, 6] k = 2 print(filter_elements_by_frequency(test_list, k))
输出结果:[4, 3, 6]
内容的提问来源于stack exchange,提问作者Noman Mahmood
相关产品推荐
相关产品推荐

