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))
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))
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