Python: prueba si K ocurre N veces consecutivas

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))
Producción :

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))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *