Python | Elemento con mayor frecuencia en la lista

Esta es una de las operaciones más esenciales con las que el programador suele lidiar. Ya sea desarrollo o programación competitiva, esta utilidad es bastante esencial para dominar, ya que ayuda a realizar muchas tareas que involucran esta tarea como su subtarea. Discutamos varios enfoques para lograr esta operación.

Método n.º 1: método ingenuo
Como método de fuerza bruta, solo contamos todos los elementos y luego devolvemos el recuento total del elemento que permanece al final como máximo. Este es el método básico que uno podría pensar en ejecutar cuando se enfrenta a este problema.

# Python3 code to demonstrate 
# to get most frequent element
# using naive method
  
# initializing list
test_list = [9, 4, 5, 4, 4, 5, 9, 5, 4]
  
# printing original list
print ("Original list : " + str(test_list))
  
# using naive method to 
# get most frequent element
max = 0
res = test_list[0]
for i in test_list:
    freq = test_list.count(i)
    if freq > max:
        max = freq
        res = i
      
# printing result
print ("Most frequent number is : " + str(res))

Producción :

Original list : [9, 4, 5, 4, 4, 5, 9, 5, 4]
Most frequent number is : 4

Método n.º 2: usarmax() + set()
la conversión de la lista para establecer y maximizar la función con respecto al recuento de cada número en la lista, esta tarea se puede lograr con facilidad y es la forma más elegante de lograrlo.

# Python3 code to demonstrate 
# to get most frequent element
# using max() + set()
  
# initializing list
test_list = [9, 4, 5, 4, 4, 5, 9, 5, 4]
  
# printing original list
print ("Original list : " + str(test_list))
  
# using max() + set() to 
# get most frequent element
res = max(set(test_list), key = test_list.count)
      
# printing result
print ("Most frequent number is : " + str(res))

Producción :

Original list : [9, 4, 5, 4, 4, 5, 9, 5, 4]
Most frequent number is : 4

Método n.º 3: el usostatistics.mode()
del modo denota el elemento de frecuencia máxima en matemáticas y Python dedica una biblioteca completa a la función estadística y esto también se puede usar para lograr esta tarea.

# Python3 code to demonstrate 
# to get most frequent element
# using statistics.mode()
import statistics
  
# initializing list
test_list = [9, 4, 5, 4, 4, 5, 9, 5, 4]
  
# printing original list
print ("Original list : " + str(test_list))
  
# using statistics.mode() to 
# get most frequent element
res = statistics.mode(test_list)
      
# printing result
print ("Most frequent number is : " + str(res))

Producción :

Original list : [9, 4, 5, 4, 4, 5, 9, 5, 4]
Most frequent number is : 4

Método #4: Usarcollections.Counter.most_common()
el método menos conocido para lograr esta tarea en particular, Counter()usa la función most_common para lograr esto en una línea. Esta es una forma innovadora y diferente de lograrlo.

# Python3 code to demonstrate 
# to get most frequent element
# using collections.Counter.most_common()
from collections import Counter
  
# initializing list
test_list = [9, 4, 5, 4, 4, 5, 9, 5, 4]
  
# printing original list
print ("Original list : " + str(test_list))
  
# using most_common to 
# get most frequent element
test_list = Counter(test_list)
res = test_list.most_common(1)[0][0]
      
# printing result
print ("Most frequent number is : " + str(res))

Producción :

Original list : [9, 4, 5, 4, 4, 5, 9, 5, 4]
Most frequent number is : 4

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 *