📅  最后修改于: 2023-12-03 15:04:24.734000             🧑  作者: Mango
在 Python 中,我们可以通过简单的方法去掉列表中出现次数小于 k 的重复元素。
我们可以使用库函数 collections.Counter()
统计每个元素出现的次数,然后删除出现次数小于 k 的重复元素。
from collections import Counter
def remove_duplicates_less_than_k(lst, k):
cnt = Counter(lst)
return [x for x in lst if cnt[x] >= k]
我们可以使用 collections.defaultdict()
统计每个元素出现的次数,然后删除出现次数小于 k 的重复元素。
from collections import defaultdict
def remove_duplicates_less_than_k(lst, k):
d = defaultdict(int)
for x in lst:
d[x] += 1
return [x for x in lst if d[x] >= k]
lst = [1, 2, 3, 1, 2, 2, 4, 5, 4, 4, 5]
k = 2
print(remove_duplicates_less_than_k(lst, k)) # [1, 2, 2, 4, 5, 4, 4, 5]
以上两种方法都能够实现去除列表中出现次数小于 k 的重复元素的功能,具体采用哪种方法还需根据实际情况进行选择。