Python | Check if the list contains sequential numbers



Examples :

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

Let`s discuss several ways we can accomplish this task.

Approach # 1: with sorted()

This approach uses sorted () Python. We compare the sorted list with the list of the minimum and maximum integer range of the list and return it.

# Python3 List generator
# with integers in the 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))

Exit :

 True 

Approach # 2 Usage numpy.diff()

The Numpy module provides a diff () function that computes the nth discrete difference along a given axis. We find the iterative difference of the sorted list and check if it is equal to 1.

# Python3 List generator
# with integers in the given range

import numpy as np

 

def checkConsecutive ( l):

n = len (l) - 1

  return ( sum (np.diff ( sorted   (l)) = = 1 ) & gt; = n) 

 
Driver code

lst = [ 2 , 3 , 1 , 4 , 5 ]

print (checkConsecutive (lst))

Exit :

 True