oursolutionarchitectoursolutionarchitect
  • Python Questions and Answers
  • Python - Programming Examples
  • Python - Quick Guide
  • Python - Useful Resources
  • Python - Discussion
    • Selected Reading
    • Q&A

    Python - Sort Lists


    Python List sort() Method

    The sort() method of list class rearranges the items in ascending or descending order with the use of lexicographical ordering mechanism. The sorting is in-place, in the sense the rearrangement takes place in the same list object, and that it doesn't return a new object.

    Syntax

    list1.sort(key, reverse)
    

    Parameters

    • Key − The function applied to each item in the list. The return value is used to perform sort. Optional

    • reverse − Boolean value. If set to True, the sort takes place in descending order. Optional

    Return value

    This method returns None.

    Sort List Items Alphanumerically

    The sort() method sorts the items of the list alphanumerically.

    Example

    Now let's take a look at some examples to understand how we can sort lists in Python −

    list1 = ['physics', 'Biology', 'chemistry', 'maths']
    print ("list before sort", list1)
    list1.sort()
    print ("list after sort : ", list1)
    
    print ("Descending sort")
    
    list2 = [10,16, 9, 24, 5]
    print ("list before sort", list2)
    list2.sort()
    print ("list after sort : ", list2)
    

    It will produce the following output

    list before sort ['physics', 'Biology', 'chemistry', 'maths']
    list after sort: ['Biology', 'chemistry', 'maths', 'physics']
    Descending sort
    list before sort [10, 16, 9, 24, 5]
    list after sort : [5, 9, 10, 16, 24]
    

    Sort List Items with str.lower()

    In this example, the str.lower() method is used as key parameter in sort() method.

    Example

    list1 = ['Physics', 'biology', 'Biomechanics', 'psychology']
    print ("list before sort", list1)
    list1.sort(key=str.lower)
    print ("list after sort : ", list1)
    

    It will produce the following output

    list before sort ['Physics', 'biology', 'Biomechanics', 'psychology']
    list after sort : ['biology', 'Biomechanics', 'Physics', 'psychology']
    

    Sort List Items with Callback Function

    The user-defined function can also be used as the key parameter in sort() method.

    Example

    Let us use a user-defined function as the key parameter in sort() method. The myfunction() uses % operator to return the remainder, based on which the sort is done.

    def myfunction(x):
       return x%10
    list1 = [17, 23, 46, 51, 90]
    print ("list before sort", list1)
    list1.sort(key=myfunction)
    print ("list after sort : ", list1)
    

    It will produce the following output

    list before sort [17, 23, 46, 51, 90]
    list after sort: [90, 51, 23, 46, 17]