In this article we will discuss how to sort a list of numbers in ascending and descending order using two different techniques.
list.sort() vs sorted()
list’s sort() function
In Python, list provides a member function sort() that can sorts the calling list in place.
sorted() Function
It’s a built in function that accepts an iterable objects and a new sorted list from that iterable.
Let’s use both to sort a list of numbers in ascending and descending Order
Frequently Asked:
Suppose we have a list of number’s i.e.
# List of numbers listOfNum = [23, 45, 21, 45, 2, 5, 11, 50, 1, 67]
Sorting the List in ascending Order using sorted()
# Create a sorted copy of existing list newList = sorted(listOfNum)
It will create a newList with sorted numbers in ascending order i.e.
newList [1, 2, 5, 11, 21, 23, 45, 45, 50, 67]
Whereas, existing list will not change
listOfNum [23, 45, 21, 45, 2, 5, 11, 50, 1, 67]
Sorting the List in ascending Order using list.sort()
# Sort the List in Place listOfNum.sort()
It will sort the list itself.
Latest Python - Video Tutorial
listOfNum is now a List Sorted in Ascending Order
[1, 2, 5, 11, 21, 23, 45, 45, 50, 67]
Sorting the List in Descending Order using sorted()
# Create a sorted (Descending Order) copy of existing list newList = sorted(listOfNum, reverse=True)
It will create a newList with sorted numbers in Descending order i.e.
newList [67, 50, 45, 45, 23, 21, 11, 5, 2, 1]
Whereas, existing list will not change
listOfNum [23, 45, 21, 45, 2, 5, 11, 50, 1, 67]
Sorting the List in Descending Order using list.sort()
# Sort the List in Place (Descending Order) listOfNum.sort(reverse=True)
It will sort the list itself.
listOfNum is now a List Sorted in Descending Order
[67, 50, 45, 45, 23, 21, 11, 5, 2, 1]
Complete example is as follows,
def main(): # List of numbers listOfNum = [23, 45, 21, 45, 2, 5, 11, 50, 1, 67] # print the List print("Initial List", listOfNum, sep='\n') print("Sorting the List in ascending Order") # Create a sorted copy of existing list newList = sorted(listOfNum) # print the List print("New List", newList, sep='\n') # print the List print("Existing List", listOfNum, sep='\n') # Sort the List in Place listOfNum.sort() # print the List print("List Sorted in Ascending Order", listOfNum, sep='\n') print("Sorting the List in Descending Order") # Create a sorted copy of existing list newList = sorted(listOfNum, reverse=True) # print the List print("New List", newList, sep='\n') # print the List print("Existing List", listOfNum, sep='\n') # Sort the List in Place (Descending Order) listOfNum.sort(reverse=True) # print the List print("List Sorted in Descending Order", listOfNum, sep='\n') if __name__ == "__main__": main()
Output:
Initial List [23, 45, 21, 45, 2, 5, 11, 50, 1, 67] Sorting the List in ascending Order New List [1, 2, 5, 11, 21, 23, 45, 45, 50, 67] Existing List [23, 45, 21, 45, 2, 5, 11, 50, 1, 67] List Sorted in Ascending Order [1, 2, 5, 11, 21, 23, 45, 45, 50, 67] Sorting the List in Descending Order New List [67, 50, 45, 45, 23, 21, 11, 5, 2, 1] Existing List [1, 2, 5, 11, 21, 23, 45, 45, 50, 67] List Sorted in Descending Order [67, 50, 45, 45, 23, 21, 11, 5, 2, 1]
Latest Video Tutorials