Python | Comprobar si la lista contiene números consecutivos

Dada una lista de números, escriba un programa en Python para comprobar si la lista contiene enteros consecutivos.

Ejemplos:

Input : [2, 3, 1, 4, 5]
Output : True

Input : [1, 2, 3, 5, 6]
Output : False

Discutamos las pocas formas en que podemos hacer esta tarea.
 
Enfoque #1: usandosorted()

Este enfoque utiliza sorted()la función de Python. Comparamos la lista ordenada con la lista del rango de enteros mínimo y máximo de la lista y la devolvemos.

# Python3 Program to Create list 
# with integers within given range 
  
def checkConsecutive(l):
    return sorted(l) == list(range(min(l), max(l)+1))
      
# Driver Code
lst = [2, 3, 1, 4, 5]
print(checkConsecutive(lst))
Producción:

True

 
Enfoque #2: Usarnumpy.diff()

El módulo Numpy proporciona una función diff()que calcula la n-ésima diferencia discreta a lo largo del eje dado. Encontramos la diferencia iterativa de la lista ordenada y verificamos si es igual a 1.

# Python3 Program to Create list 
# with integers within given range 
import numpy as np
  
def checkConsecutive(l):
    n = len(l) - 1
    return (sum(np.diff(sorted(l)) == 1) >= n) 
      
# Driver Code
lst = [2, 3, 1, 4, 5]
print(checkConsecutive(lst))
Producción:

True

Publicación traducida automáticamente

Artículo escrito por Smitha Dinesh Semwal 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 *