Given a list of numbers, write a Python program to check if the list contains consecutive integers.
Examples:
Input : [2, 3, 1, 4, 5] Output : True Input : [1, 2, 3, 5, 6] Output : False
Let’s discuss the few ways we can do this task.
Approach #1 : using sorted()
This approach uses sorted()
function of Python. We compare the sorted list with list of range of minimum and maximum integer of the list and return it.
# 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)) |
True
Approach #2 : Using numpy.diff()
Numpy module provides a function diff()
that calculate the n-th discrete difference along the given axis. We find the iterative difference of the sorted list and check if it is equal to 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)) |
True
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.