Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Python Program to Sort the list according to the column using lambda

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given a list, the task is to sort the list according to the column using the lambda approach. Examples:

Input : array = [[1, 3, 3], [2, 1, 2], [3, 2, 1]] Output : Sorted array specific to column 0, [[1, 3, 3], [2, 1, 2], [3, 2, 1]] Sorted array specific to column 1, [[2, 1, 2], [3, 2, 1], [1, 3, 3]] Sorted array specific to column 2, [[3, 2, 1], [2, 1, 2], [1, 3, 3]] Input : array = [[‘java’, 1995], [‘c++’, 1983], [‘python’, 1989]] Output : Sorted array specific to column 0, [[‘c++’, 1983], [‘java’, 1995], [‘python’, 1989]] Sorted array specific to column 1, [[‘c++’, 1983], [‘python’, 1989], [‘java’, 1995]]

Approach:

  • sorted() built-in function in Python gives a new sorted list from an iterable.
  • key parameter to specify a function to be called on each list element prior to making comparisons.
  • lambda is used as a function to iterate on each element.
  • key = lambda x:x[i] here i is the column on which respect to sort the whole list.

Below is the implementation. 

Python3




# Python code to sorting list
# according to the column
 
# sortarray function is defined
def sortarray(array):
     
    for i in range(len(array[0])):
         
        # sorting array in ascending
        # order specific to column i,
        # here i is the column index
        sortedcolumn = sorted(array, key = lambda x:x[i])
         
        # After sorting array Column 1
        print("Sorted array specific to column {}, \
        {}".format(i, sortedcolumn))
     
# Driver code
if __name__ == '__main__':
     
    # array of size 3 X 2
    array = [['java', 1995], ['c++', 1983],
             ['python', 1989]]
     
    # passing array in sortarray function
    sortarray(array)

Output:

Sorted array specific to column 0, [[‘c++’, 1983], [‘java’, 1995], [‘python’, 1989]] Sorted array specific to column 1, [[‘c++’, 1983], [‘python’, 1989], [‘java’, 1995]]

Time complexity: O(n*logn), as sorting is done.
Auxiliary Space: O(n),where n is length of array.

My Personal Notes arrow_drop_up
Last Updated : 25 Apr, 2023
Like Article
Save Article
Similar Reads
Related Tutorials