Python | Check if list is strictly increasing - GeeksforGeeks

30 Dec, 2018
The test for monotonic sequence is a utility that has manifold applications in mathematics and hence every sphere related to mathematics. As mathematics and Computer Science generally go parallel, mathematical operations such as checking for strictly increasing sequence can be useful to gather knowledge of. Same argument can be extended for strictly decreasing lists also. Lets discuss certain ways to perform this test.
Method #1 : Using all() + zip()The all() generally checks for all the elements fed to it. The task of zip() is to link list beginning from beginning and list beginning from first element, so that a check can be performed on all elements.
# Python3 code to demonstrate # to check for strictly increasing list# using zip() + all()  # initializing listtest_list = [1, 4, 5, 7, 8, 10]  # printing original listsprint ("Original list : " + str(test_list))  # using zip() + all()# to check for strictly increasing listres = all(i < j for i, j in zip(test_list, test_list[1:]))  # printing resultprint ("Is list strictly increasing ? : " + str(res))
Original list : [1, 4, 5, 7, 8, 10]
Is list strictly increasing ? : True

 Method #2 : Using reduce() + lambdareduce() coupled with lambda can also perform this task of checking for monotonicity. reduce function is used to cumulate the result as True or False, lambda function checks for each index value with next index value.
# Python3 code to demonstrate # to check for strictly increasing list# using reduce() + lambda  # initializing listtest_list = [1, 4, 5, 7, 8, 10]  # printing original listsprint ("Original list : " + str(test_list))  # using reduce() + lambda# to check for strictly increasing listres = bool(lambda test_list: reduce(lambda i, j: j if                  i < j else 9999, test_list) != 9999)  # printing resultprint ("Is list strictly increasing ? : " + str(res))
Original list : [1, 4, 5, 7, 8, 10]
Is list strictly increasing ? : True

 Method #3 : Using itertools.starmap() + zip() + all()Yet another method to perform this task, starmap() works in binding the operation with the zipped lists as done in method 1 and all() also performs similar task of cumulation of result.
# Python3 code to demonstrate # to check for strictly increasing list# using itertools.starmap() + zip() + all()import operatorimport itertools  # initializing listtest_list = [1, 4, 5, 7, 8, 10]  # printing original listsprint ("Original list : " + str(test_list))  # using itertools.starmap() + zip() + all()# to check for strictly increasing listres = all(itertools.starmap(operator.le,          zip(test_list, test_list[1:])))  # printing resultprint ("Is list strictly increasing ? : " + str(res))
Original list : [1, 4, 5, 7, 8, 10]
Is list strictly increasing ? : True

Python list-programs
Python
Python Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Read a file line by line in Python
How to Install PIP on Windows ?
Enumerate() in Python
Different ways to create Pandas Dataframe
Iterate over a list in Python
Python program to convert a list to string
Defaultdict in Python
Python | Get dictionary keys as a list
Python | Split string into list of characters
Python | Convert a list to dictionary