La tarea es escribir un programa Python para ordenar una lista de tuplas en orden creciente por el último elemento de cada tupla.
Input: [(1, 3), (3, 2), (2, 1)] Output: [(2, 1), (3, 2), (1, 3)] Explanation: sort tuple based on the last digit of each tuple.
Métodos #1: Usar sorted().
El método Sorted() ordena una lista y siempre devuelve una lista con los elementos ordenados, sin modificar la secuencia original.
Acercarse:
- Tome una lista de tuplas del usuario.
- Defina una función que devuelva el último elemento de cada tupla en la lista de tuplas.
- Defina otra función con la función anterior como clave y ordene la lista.
- Imprime la lista ordenada.
Python3
def last(n): return n[-1] def sort(tuples): return sorted(tuples, key=last) a=[(1, 3), (3, 2), (2, 1)] print("Sorted:") print(sort(a))
Producción:
Sorted: [(2, 1), (3, 2), (1, 3)]
Métodos #2: Usando Bubble Sort.
Acceda al último elemento de cada tupla utilizando los bucles anidados. Esto realiza el método de clasificación en el lugar. La complejidad del tiempo es similar a Bubble Sort, es decir, O (n ^ 2).
Python3
# Python program to sort # a list of tuples by the second Item # Function to sort the list # of tuples by its second item def Sort_Tuple(tup): # getting length of list of tuples lst = len(tup) for i in range(0, lst): for j in range(0, lst-i-1): if (tup[j][-1] > tup[j + 1][-1]): temp = tup[j] tup[j]= tup[j + 1] tup[j + 1]= temp return tup # Driver Code tup =[(1, 3), (3, 2), (2, 1)] print(Sort_Tuple(tup))
Producción:
[(2, 1), (3, 2), (1, 3)]
Métodos #3: Usar sort().
El método sort() ordena los elementos de una lista determinada en un orden ascendente o descendente específico.
Python3
# Python program to sort a list of # tuples by the second Item using sort() # Function to sort the list by second item of tuple def Sort_Tuple(tup): # reverse = None (Sorts in Ascending order) # key is set to sort using second element of # sublist lambda has been used tup.sort(key = lambda x: x[-1]) return tup # Driver Code tup = [(1, 3), (3, 2), (2, 1)] # printing the sorted list of tuples print(Sort_Tuple(tup))
Producción:
[(2, 1), (3, 2), (1, 3)]
Publicación traducida automáticamente
Artículo escrito por biswasarkadip y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA