# Python – Check If List Is Sorted Or Not

In this tutorial, we will look at how to check if a list is sorted or not in Python with the help of some examples.

To check if a list is sorted, you can use the following methods –

1. Compare the list with its corresponding sorted list.
2. Iterate through the list and see if the elements are in order.

Let’s now take a look at the above methods in detail with the help of some examples.

To check if a list is sorted in Python, compare the list to the list resulting from a sort operation on the original list. If the list resulting after a sort operation is the same as the original list we can say that the original list is sorted.

You can use the python built-in `sorted()` function to get the sorted list. Let’s take a look at an example.

Highlighted programs for you

Flatiron School

Flatiron School

Data Science Bootcamp
Product Design UX/UI Bootcamp

University of Maryland Global Campus

University of Maryland Global Campus

Cloud Computing Systems Master's
Digital Forensics & Cyber Investigation Master's

Creighton University

Creighton University

Health Informatics Master's

```# create a list
ls = [1, 2, 3, 4, 5]
# check if list is sorted
print(ls == sorted(ls))```

Output:

`True`

Here we get `True` as the output because the original list `ls` is already sorted.

Let’s look at another example.

```# create a list
ls = [1, 2, 4, 3, 5]
# check if list is sorted
print(ls == sorted(ls))```

Output:

`False`

Here we get `False` as the output because the list `ls` does not contain elements in the sorted order.

The worst-case time complexity of this method is O(N Log N) where N is the size of the list.

You can also check if the list is sorted or not by iterating through the list elements. If any element is out of order (for example, it’s smaller than the previous element) we can say that the list is not sorted in ascending order.

Let’s look at an example.

```# function to check if list is sorted in ascending order
def is_list_sorted(ls):
for i in range(1, len(ls)):
# return False if the element is smaller than the previous element
if ls[i] < ls[i-1]:
return False
return True

# create a list
ls = [1, 2, 3, 4, 5]
# check if list is sorted
print(is_list_sorted(ls))```

Output:

`True`

We get the same result as above. The list `ls` is in sorted order and thus we get `True` as the output.

Let’s see what happens if we use this method on a list that is not sorted.

```# create a list
ls = [1, 2, 4, 3, 5]
# check if list is sorted
print(is_list_sorted(ls))```

Output:

`False`

We get `False` as the output.

The worst-case time complexity of this method is O(N) where N is the size of the list.

You can also use the above methods to check if a list is sorted in descending order or not.

```# function to check if list is sorted in descending order
def is_list_sorted_desc(ls):
for i in range(1, len(ls)):
# return False if the element is larger than the previous element
if ls[i] > ls[i-1]:
return False
return True

# create a list
ls = [5, 4, 3, 2, 1]
# check if list is sorted
print(ls == sorted(ls, reverse=True))
print(is_list_sorted_desc(ls))```

Output:

```True
True```

Here we use both the methods to check if the list `ls` is sorted in descending order or not.

You might also be interested in –

• 