Sort list number Python

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[]

lists sort[] function

In Python, list provides a member function sort[] that can sorts the calling list in place.

sorted[] Function

Its a built in function that accepts an iterable objects and a new sorted list from that iterable.

Lets use both to sort a list of numbers in ascending and descending Order

Advertisements

Suppose we have a list of numbers 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.

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]

Advertisements

Video liên quan

Chủ Đề