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))
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))
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