Computer >> Computer tutorials >  >> Programming >> Python

Python program to sort a list according to the second element in sublist


List is given, our task is to sort a list according to the second element in the sublist. Here we apply simple bubble sort.

Example

Input
[['CCC', 15], ['AAA', 10], ['RRRR', 2],['XXXX', 150]]
Output
[['RRRR', 2], ['AAA', 10], ['CCC', 15], ['XXXX', 150]]

Algorithm

Step 1: Given a list.
Step2:  We have tried to access the second element of the sublists using the nested loops. 
Step 3: Traverse through all array elements.
Step 4: Last i elements are already in place.
Step 5: traverse the array from 0 to n-i-1.
Step 6: Swap if the element found is greater than the next element.

Example Code

# Python program to sort the lists using the second element of sublist
# In place way to sort, use of third variable.
def sortlist(A):
   l = len(A)
   for i in range(0, l):
      for j in range(0, l-i-1):
         if (A[j][1] > A[j + 1][1]):
            tempo = A[j]
            A[j]= A[j + 1]
            A[j + 1]= tempo
   return A
   # Driver Code
   A =[['AAA', 10], ['CCC', 15], ['RRRR', 2], ['XXXX', 150]]
   print(sortlist(A))

Output

[['RRRR', 2], ['AAA', 10], ['CCC', 15], ['XXXX', 150]]