yog*_*raj -2 python duplicates
列表= [1,2,3,4,1,2,3,1,2]
在这里,我只需要删除第二个副本(三次重复)并忽略第一个副本.
最终结果如下,
Out_list = [1,2,3,4,1,2,3]
使用Counter的pythonic方法:
from collections import Counter
l = [1,2,3,4,1,2,3,1,2]
c = Counter()
new_l = [ i for i in l if c.update([i]) or c[i]<3 ] #new_l=[1,2,3,4,1,2,3]
Run Code Online (Sandbox Code Playgroud)
一个简短的解释:updateCounter 的方法接受一个迭代器,并将此迭代器的元素递增1,并返回None强制转换为False布尔值.因此c.update([i]) or c[i]<3相当于c[i]<3.