How to remove elements from a list that are repeated less than N times with Python

1 Answer

0 votes
from collections import Counter 
  
def remove_elements_repeated_less_than_N_times(lst, N): 
    element_times = Counter(lst) 
    return [e for e in lst if element_times[e] >= N] 

lst = ['bb', 'zz', 'ff', 'bb', 'aa', 'dd', 'zz', 'ff', 'zz', 'ee', 'aa', 'ff', 'ff'] 
N = 3

print(remove_elements_repeated_less_than_N_times(lst, N)) 



'''
run:
 
['zz', 'ff', 'zz', 'ff', 'zz', 'ff', 'ff']

'''

 



answered Feb 11, 2020 by avibootz
...