Python | Ordenar la lista de tuplas por el elemento N de la tupla

A veces, mientras trabajamos con la lista de Python, podemos encontrarnos con un problema en el que necesitamos ordenar la lista de acuerdo con cualquier elemento de tupla. Deben ser una forma genérica de realizar la ordenación por índice de tupla particular. Esto tiene una buena utilidad en el dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usosort() + lambda
La combinación de las funciones anteriores se puede utilizar para realizar esta tarea. En esto, solo pasamos una función lambda sort()con el índice de elemento de tupla apropiado según el tipo que se debe realizar.

# Python3 code to demonstrate working of
# Sort tuple list by Nth element of tuple
# using sort() + lambda
  
# initializing list
test_list = [(4, 5, 1), (6, 1, 5), (7, 4, 2), (6, 2, 4)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# index according to which sort to perform
N = 1
  
# Sort tuple list by Nth element of tuple
# using sort() + lambda
test_list.sort(key = lambda x: x[N])
  
# printing result 
print("List after sorting tuple by Nth index sort : " + str(test_list))
Producción :

The original list is : [(4, 5, 1), (6, 1, 5), (7, 4, 2), (6, 2, 4)]
List after sorting tuple by Nth index sort : [(6, 1, 5), (6, 2, 4), (7, 4, 2), (4, 5, 1)]

Método #2: Usarsort() + itemgetter()
Esto es similar al método anterior. La diferencia es que usamos itemgetter(), para realizar esta tarea que realiza lambda en el método anterior.

# Python3 code to demonstrate working of
# Sort tuple list by Nth element of tuple
# using sort() + itemgetter()
from operator import itemgetter
  
# initializing list
test_list = [(4, 5, 1), (6, 1, 5), (7, 4, 2), (6, 2, 4)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# index according to which sort to perform
N = 1
  
# Sort tuple list by Nth element of tuple
# using sort() + itemgetter()
test_list.sort(key = itemgetter(N))
  
# printing result 
print("List after sorting tuple by Nth index sort : " + str(test_list))
Producción :

The original list is : [(4, 5, 1), (6, 1, 5), (7, 4, 2), (6, 2, 4)]
List after sorting tuple by Nth index sort : [(6, 1, 5), (6, 2, 4), (7, 4, 2), (4, 5, 1)]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *