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