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 un cierto número de veces en la lista. Vamos a discutir ciertas formas de lidiar con este problema.
Método n.º 1: Uso sum()
de la comprensión de listas +
La comprensión de listas 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 code to demonstrate # K occurrence element Test # 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 = 3 # initializing N N = 5 # using sum() + list comprehension # K occurrence element Test res = 0 res = sum([1 for i in test_list if i == N]) == k if res == 1 : res = True else : res = False # printing result print ("Does N occur K times ? : " + str(res))
The original list is : [1, 3, 5, 5, 4, 5] Does N occur K times ? : True
Método n.° 2: Usarnext() + 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 code to demonstrate # K occurrence element Test # 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 = 3 # initializing N N = 5 # using next() + islice() # K occurrence element Test func = (True for i in test_list if i == N) res = next(islice(func, k - 1, None), False) # printing result print ("Does N occur K times ? : " + str(res))
The original list is : [1, 3, 5, 5, 4, 5] Does N occur K 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