小编POK*_*OKO的帖子

如何删除列表中重复小于k的项目

在python列表中,我想删除重复小于'k'的所有元素.例如,如果k == 3那么我们的列表是:

l = [a,b,c,c,c,a,d,e,e,d,d]
Run Code Online (Sandbox Code Playgroud)

然后输出必须是:

[c,c,c,d,d,d]
Run Code Online (Sandbox Code Playgroud)

什么是快速的方法(我的数据很大),任何好的pythonic建议?

这是我编码的,但我不认为它是最快和最pythonic的方式:

from collections import Counter

l = ['a', 'b', 'c', 'c', 'c', 'a', 'd', 'e', 'e', 'd', 'd']

counted = Counter(l)

temp = []
for i in counted:
    if counted[i] < 3:
        temp.append(i)

new_l = []
for i in l:
    if i not in temp:
        new_l.append(i)

print(new_l)
Run Code Online (Sandbox Code Playgroud)

python counter list

0
推荐指数
1
解决办法
75
查看次数

标签 统计

counter ×1

list ×1

python ×1