Python: extrae elementos con una frecuencia mayor que K

Dada una Lista, extraiga todos los elementos cuya frecuencia sea mayor que K.

Entrada : test_list = [4, 6, 4, 3, 3, 4, 3, 4, 3, 8], K = 3
Salida : [4, 3]
Explicación : Ambos elementos aparecen 4 veces.

Entrada : test_list = [4, 6, 4, 3, 3, 4, 3, 4, 6, 6], K = 2
Salida : [4, 3, 6]
Explicación : Ocurre 4, 3 y 3 veces respectivamente.

Método n.º 1: usar count() + loop

En esto, usamos count() para obtener la frecuencia, y loop se usa para iterar para cada uno de los elementos de List. 

Python3

# Python3 code to demonstrate working of 
# Extract elements with Frequency greater than K
# Using count() + loop
  
# initializing list
test_list = [4, 6, 4, 3, 3, 4, 3, 7, 8, 8]
  
# printing string
print("The original list : " + str(test_list))
  
# initializing K 
K = 2
  
res = [] 
for i in test_list: 
      
    # using count() to get count of elements
    freq = test_list.count(i) 
      
    # checking if not already entered in results
    if freq > K and i not in res: 
        res.append(i)
  
# printing results 
print("The required elements : " + str(res))
Producción

The original list : [4, 6, 4, 3, 3, 4, 3, 7, 8, 8]
The required elements : [4, 3]

Método n.° 2: Usar la comprensión de listas + Contador()

En esto, realizamos la tarea de contar usando Counter() y la parte de la iteración se realiza dentro de la comprensión de la lista.

Python3

# Python3 code to demonstrate working of 
# Extract elements with Frequency greater than K
# Using list comprehension + Counter()
from collections import Counter
  
# initializing list
test_list = [4, 6, 4, 3, 3, 4, 3, 7, 8, 8]
  
# printing string
print("The original list : " + str(test_list))
  
# initializing K 
K = 2
  
# using list comprehension to bind result
res = [ele for ele, cnt in Counter(test_list).items() if cnt > K]
  
# printing results 
print("The required elements : " + str(res))
Producción

The original list : [4, 6, 4, 3, 3, 4, 3, 7, 8, 8]
The required elements : [4, 3]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *