Python | Comprobar si k aparece al menos n veces en una lista

Hay muchos problemas comunes con los que se encuentra un desarrollador o programador común en la codificación día a día. Uno de esos problemas es encontrar si un elemento aparece más de un cierto número de veces en la lista. Vamos a discutir ciertas formas de lidiar con este problema. 

Método #1: Usar sum() + comprensión de lista La comprensión de lista puede combinarse con la función de suma para lograr esta tarea en particular. La función de suma hace la parte de suma y el caso lógico de devolver verdadero se trata en la parte de comprensión de lista. 

Python3

# Python3 code to demonstrate
# check for minimum N occurrences of K
# using sum() + list comprehension
 
# initializing list
test_list = [1, 3, 5, 5, 4, 5]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# initializing k
k = 5
 
# initializing N
N = 3
 
# using sum() + list comprehension
# checking occurrences of K atleast N times
res = 0
res = sum([1 for i in test_list if i == k]) >= N
if res == 1 :
    res = True
else :
    res = False
     
# printing result
print ("Does %d occur atleast %d times ? :" %(k, N) + str(res))

  Método #2: Uso de next() + islice() Estas dos funciones se pueden usar juntas para realizar esta tarea en particular de una manera más eficiente que la anterior. La función islice manejaría la parte de suma y la función next ayuda con la lógica de iteración. 

Python3

# Python3 code to demonstrate
# check for minimum N occurrences of K
# using next() + islice()
from itertools import islice
 
# initializing list
test_list = [1, 3, 5, 5, 4, 5]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# initializing k
k = 5
 
# initializing N
N = 3
 
# using next() + islice()
# checking occurrences of K atleast N times
func = (True for i in test_list if i == k)
res = next(islice(func, N-1, None), False)
     
# printing result
print ("Does %d occur atleast %d times ? :" %(k, N) + str(res))
Producción:

The original list is : [1, 3, 5, 5, 4, 5]
Does 5 occur atleast 3 times ? : True

Método #3 : Usando count()

Python3

# Python3 code to demonstrate
# check for minimum N occurrences of K
 
# initializing list
test_list = [1, 3, 5, 5, 4, 5]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# initializing k
k = 5
 
# initializing N
N = 3
# checking occurrences of K atleast N times
res = False
if(test_list.count(k)>=N):
    res=True
# printing result
print ("Does %d occur atleast %d times ? : " %(k, N) + str(res))
Producción

The original list is : [1, 3, 5, 5, 4, 5]
Does 5 occur atleast 3 times ? : True

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 *