ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

Python program to sort a list of tuples by second item

Here, we have a list of tuples and we need to sort a list of tuples by second item in Python programming language.
Submitted by Shivang Yadav, on June 09, 2021

Python programming language is a high-level and object-oriented programming language. Python is an easy to learn, powerful high-level programming language. It has a simple but effective approach to object-oriented programming.

Tuples in Python is a collection of items similar to list with the difference that it is ordered and immutable.

Example:

tuple = ("python", "includehelp", 43, 54.23)

Sorting a list of tuples by second item

In this program, we have a list of tuples and we need to sort the list of tuples by the index of sorting which will be the second item of the tuple.

We basically will use a sorting algorithm but instead of using the Ist value of the list, we will use the second element of the tuple.

Example:

Input:
[(2, 5), (9, 1), (4, 6), (2, 8), (1, 7)]

Output:
[(9, 1), (2, 5), (4, 6), (1, 7), (2, 8)]

In Python programming language, there are multiple ways to perform a single task in different ways and it totally depends on the programmer and then the need of the software being developed that which one should be used.

Method 1:

Using binary sorting technique for sorting. We will access the second element of the tuple as an index for sorting the list.

Program:

# Python program to sort a list of tuples by second item

# Creating a new tuple 
tupleList = [(2, 5), (9, 1), (4, 6), (2, 8), (1, 7)]
print("Unordered list : ", str(tupleList))

# Sorting the list of tuples using second item 
listLen = len(tupleList)
for i in range(0, listLen):
    for j in range(0, (listLen - i - 1)):
        if(tupleList[j][1] > tupleList[j+1][1]):
            temp = tupleList[j]
            tupleList[j] = tupleList[j+1]
            tupleList[j+1] = temp

# Printing sorted list 		
print("Sorted List : ", str(tupleList))

Output:

Unordered list :  [(2, 5), (9, 1), (4, 6), (2, 8), (1, 7)]
Sorted List :  [(9, 1), (2, 5), (4, 6), (1, 7), (2, 8)]

Method 2 : Using sorting methods

Python provides us with some built-in sorting methods. While using the sorting methods, we need to pass a method to the method which will swap the element to the second element of tuple.

Using sort() method

# Python program to sort a list of tuples by second item

# Creating a new tuple 
tupleList = [(2, 5), (9, 1), (4, 6), (2, 8), (1, 7)]
print("Unordered list : ", str(tupleList))

# Sorting the list of tuples using second item 
tupleList.sort(key = lambda val: val[1]) 

# Printing sorted list 		
print("Sorted List : ", str(tupleList))

Output:

Unordered list :  [(2, 5), (9, 1), (4, 6), (2, 8), (1, 7)]
Sorted List :  [(9, 1), (2, 5), (4, 6), (1, 7), (2, 8)]

Using sorted() method

# Python program to sort a list of tuples by second item

# Creating a new tuple 
tupleList = [(2, 5), (9, 1), (4, 6), (2, 8), (1, 7)]
print("Unordered list : ", str(tupleList))

# Sorting the list of tuples using second item 
sortedTuple  = sorted(tupleList, key = lambda val: val[1])

# Printing sorted list 		
print("Sorted List : ", str(sortedTuple))

Output:

Unordered list :  [(2, 5), (9, 1), (4, 6), (2, 8), (1, 7)]
Sorted List :  [(9, 1), (2, 5), (4, 6), (1, 7), (2, 8)]

Python Tuple Programs »

ADVERTISEMENT
ADVERTISEMENT




Comments and Discussions

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.