
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Sort Tuple by Its Float Element in Python
This article will demonstrate how write a Python program to sort a tuple (made up of float elements) using its float elements. Here, we'll look at both how to sort using the in-built sorted() function and how to sort using the in-place method of sorting.
Input-Output Scenarios
Following is an input and its output scenario determining the sorting of a tuple by its float element ?
Scenario-1
Input: tuple = [(?Dengu', '54.865'), (?Malaria', ?345.743'), (?Corona', ?456.864'), (?Typhoid', ?35.285'), (?Jaundice', '83.367')] Output: [(?Corona', ?456.864'), (?Malaria', ?345.743'), (?Jaundice', '83.367'), (?Dengu', '54.865'), (?Typhoid', ?35.285')]
In the above scenario we can see that the tuples have been sorted in the descending order using its float elements.
Scenario-2
Input: tuple = [(?638', '54.865'), (?932', ?345.743'), (?256', ?456.864'), (?843', ?35.285'), (?246', '83.367')] Output: [(?256', ?456.864'), (?932', ?345.743'), (?246', '83.367'), (?638', '54.865'), (?843', ?35.285')]
In the above scenario we can see that the tuple has been sorted in descending order by its float elements and not by its integer values.
Using sorted() method
Without changing the initial sequence, Sorted() sorts a tuple and always returns a tuple with the items in a sorted order. Here, we tried to use all three of the arguments i.e. iterable, key (optional) and reverse (optional), two of which are optional.
Algorithm
The following algorithm describes the ways to sort a tuple by its float element using sorted() method ?
provided a list
using sorted to sort ().
Any iterator that needs to be sorted, whether it be a collection (dictionary, set, frozenset), sequence (list, tuple, string), or another type.
Using the function key(optional) as a basis for sort comparison would act as a key.
The iterable would be sorted in reverse (descending) order if Reverse (optional) were set to true. By default, it is set to false.
Example
Following is the code of Python for sorting a tuple by its float element using sorted() method ?
def sort_tuple(X): return(sorted(X, key = lambda n: float(n[1]), reverse = True)) # The driver Code X = [('Dengu', '54.865'), ('Malari', '345.743'), ('Corona', '456.864'), ('Typhoi', '35.285'), ('Jaundice', '83.367')] print("Sorting of Tuples Using Its Float Element ::",sort_tuple(X))
Output
Following is an output of the above code ?
Sorting of Tuples Using Its Float Element :: [('Corona', '456.864'), ('Malari', '345.743'), ('Jaundice', '83.367'), ('Dengu', '54.865'), ('Typhoi', '35.285')]
Using sort() method
The tuple's actual content is changed during this method of sorting, whereas the original tuple's content was left unchanged during the previous approach.
Algorithm
The following algorithm describes the ways to sort a tuple by its float element using sort() method ?
- Create a new Tuple List.
- Define the Sort function (For Sorting Tuple).
- Set the second element as the sorting key.
- Use lambda sublist.
- Print the outcome.
Example
In this code, using this method of sorting changes the tuple's actual contents. The sort() function sorts the elements of a list in ascending or descending order by using the default comparisons operator between items. Use the key argument to specify the function name to be used for comparison rather than the default operator ?
def sort(tuple): # sorting in descending order by setting reverse as true using float elements tuple.sort(key = lambda x: float(x[1]), reverse = True) print(tuple) # The driver Code tuple = [('638', '54.865'), ('932', '345.743'), ('256', '456.864'), ('843', '35.285'), ('246', '83.367')] sort(tuple)
Output
Following is an output of the above code ?
[('256', '456.864'), ('932', '345.743'), ('246', '83.367'), ('638', '54.865'), ('843', '35.285')]
Using Binary Search operation
In our code, we have a list of tuples that we must sort using the tuple's second member, the sorting index. We'll effectively use a sorting method, except we'll use the second element of the tuple rather than the first value from the list.
Algorithm
The following algorithm describes the ways to sort a tuple by the index of sorting by its float element using binary search operation ?
- List initialization.
- Print the initial List.
- Define the tuple list's length.
- Using the binary function to sort.
- Print the outcome
Example
The binary sorting method is used in this program to perform the sorting. The list will be sorted using an index determined by the second item of the tuple ?
# Create a new tuple tuple_list = [('638', 54.865), ('932', 345.743), ('256', 456.864), ('843', 35.285), ('246', 83.367)] print("The orignal list is : ", str(tuple_list)) # Sort the list of tuples using the second item Len = len(tuple_list) for i in range(0, Len): for j in range(0, (Len - i - 1)): if(tuple_list[j][1] < tuple_list[j+1][1]): temp = tuple_list[j] tuple_list[j] = tuple_list[j+1] tuple_list[j+1] = temp print("The sorted list is : ", str(tuple_list))
Output
Following is an output of the above code ?
The orignal list is : [('638', 54.865), ('932', 345.743), ('256', 456.864), ('843', 35.285), ('246', 83.367)] The sorted list is : [('256', 456.864), ('932', 345.743), ('246', 83.367), ('638', 54.865), ('843', 35.285)]