# Python | Check if list is sorted or not

The sorted operation of list is essential operation in many application. But it takes best of O(nlogn) time complexity, hence one hopes to avoid this. So, to check if this is required or not, knowing if list is by default sorted or not, one can check if list is sorted or not. Lets discuss various ways this can be achieved.

Method #1 : Naive method
The simplest way to check this is run a loop for first element and check if we could find any smaller element than it after that element, if yes, the list is not sorted.

 `# Python3 code to demonstrate  ` `# to check if list is sorted ` `# using naive method  ` ` `  `# initializing list ` `test_list ``=` `[``1``, ``4``, ``5``, ``8``, ``10``] ` ` `  `# printing original list  ` `print` `(``"Original list : "` `+` `str``(test_list)) ` ` `  `# using naive method to  ` `# check sorted list  ` `flag ``=` `0` `i ``=` `1` `while` `i < ``len``(test_list): ` `    ``if``(test_list[i] < test_list[i ``-` `1``]): ` `        ``flag ``=` `1` `    ``i ``+``=` `1` `     `  `# printing result ` `if` `(``not` `flag) : ` `    ``print` `(``"Yes, List is sorted."``) ` `else` `: ` `    ``print` `(``"No, List is not sorted."``) `

Output :

```Original list : [1, 4, 5, 8, 10]
Yes, List is sorted.
```

Method #2 : Using `sort()`
The new list can be made as a copy of the original list, sorting the new list and comparing with the old list will give us the result if sorting was required to get sorted list or not.

 `# Python3 code to demonstrate  ` `# to check if list is sorted ` `# using sort() ` ` `  `# initializing list ` `test_list ``=` `[``10``, ``4``, ``5``, ``8``, ``10``] ` ` `  `# printing original list  ` `print` `(``"Original list : "` `+` `str``(test_list)) ` ` `  `# using sort() to  ` `# check sorted list  ` `flag ``=` `0` `test_list1 ``=` `test_list[:] ` `test_list1.sort() ` `if` `(test_list1 ``=``=` `test_list): ` `    ``flag ``=` `1` `     `  `# printing result ` `if` `(flag) : ` `    ``print` `(``"Yes, List is sorted."``) ` `else` `: ` `    ``print` `(``"No, List is not sorted."``) `

Output :

```Original list : [10, 4, 5, 8, 10]
No, List is not sorted.
```

Method #3 : Using `sorted()`
Using the similar analogy as the above method, but does not create a new space, but just a momentary space for that time and hence useful, shorter and faster method than above.

 `# Python3 code to demonstrate  ` `# to check if list is sorted ` `# using sorted() ` ` `  `# initializing list ` `test_list ``=` `[``1``, ``4``, ``5``, ``8``, ``10``] ` ` `  `# printing original list  ` `print` `(``"Original list : "` `+` `str``(test_list)) ` ` `  `# using sorted() to  ` `# check sorted list  ` `flag ``=` `0` `if``(test_list ``=``=` `sorted``(test_list)): ` `    ``flag ``=` `1` `     `  `# printing result ` `if` `(flag) : ` `    ``print` `(``"Yes, List is sorted."``) ` `else` `: ` `    ``print` `(``"No, List is not sorted."``) `

Output :

```Original list : [1, 4, 5, 8, 10]
Yes, List is sorted.
```

Method #4 : Using `all()`
Most elegant, pythonic and faster way to check for sorted list is the use of `all()`. This uses the similar method as naive, but use of `all()` make it quicker.

 `# Python3 code to demonstrate  ` `# to check if list is sorted ` `# using all() ` ` `  `# initializing list ` `test_list ``=` `[``9``, ``4``, ``5``, ``8``, ``10``] ` ` `  `# printing original list  ` `print` `(``"Original list : "` `+` `str``(test_list)) ` ` `  `# using all() to  ` `# check sorted list  ` `flag ``=` `0` `if``(``all``(test_list[i] <``=` `test_list[i ``+` `1``] ``for` `i ``in` `range``(``len``(test_list)``-``1``))): ` `    ``flag ``=` `1` `     `  `# printing result ` `if` `(flag) : ` `    ``print` `(``"Yes, List is sorted."``) ` `else` `: ` `    ``print` `(``"No, List is not sorted."``) `

Output :

```Original list : [9, 4, 5, 8, 10]
No, List is not sorted.
```

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.