A veces, mientras trabajamos con la lista de Python, podemos tener un problema en el que necesitamos verificar si un número en particular ocurre N veces consecutivas. Esto puede tener aplicación en muchos dominios, incluida la programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Uso de la comprensión de listas
Esta es una forma en la que se puede realizar esta tarea. En esto, iteramos la lista y verificamos si aparece en la lista usando el operador de multiplicación en una sola línea.
# Python3 code to demonstrate # Test if K occurs N consecutive times # using list comprehension # Initializing list test_list = [1, 3, 4, 4, 4, 3, 3, 2, 2, 1] # printing original list print("The original list is : " + str(test_list)) # Initializing K K = 4 # Initializing N N = 3 # Test if K occurs N consecutive times # using list comprehension res = [K] * N in (test_list[i : i + N] for i in range(len(test_list) - N)) # printing result print ("Does K occur N consecutive times ? : " + str(res))
The original list is : [1, 3, 4, 4, 4, 3, 3, 2, 2, 1] Does K occur N consecutive times ? : True
Método n.º 2: usarlambda + join()
Esto es otra forma más de realizar esta tarea. En esto, realizamos la tarea de verificar la consecución usando lambda y join() se usa para obtener los grupos de elementos que son consecutivos.
# Python3 code to demonstrate # Test if K occurs N consecutive times # using lambda + join() # Initializing list test_list = [1, 3, 4, 4, 4, 3, 3, 2, 2, 1] # printing original list print("The original list is : " + str(test_list)) # Initializing K K = 4 # Initializing N N = 3 # Test if K occurs N consecutive times # using lambda + join() res = bool(lambda ele: str(K) * N in ''.join(str(num) for num in test_list)) # printing result print ("Does K occur N consecutive times ? : " + str(res))
The original list is : [1, 3, 4, 4, 4, 3, 3, 2, 2, 1] Does K occur N consecutive 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