Programa de Python para ordenar una lista de tuplas en orden creciente por el último elemento en cada tupla

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

Deja una respuesta

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