Programa de Python para ordenar una lista de tuplas por segundo elemento

Dada una lista de tuplas, escriba un programa Python para ordenar las tuplas por el segundo elemento de cada tupla. Ejemplos:

Input : [('for', 24), ('Geeks', 8), ('Geeks', 30)] 
Output : [('Geeks', 8), ('for', 24), ('Geeks', 30)]

Input : [('452', 10), ('256', 5), ('100', 20), ('135', 15)]
Output : [('256', 5), ('452', 10), ('135', 15), ('100', 20)]

  Método n.° 1: Uso de Bubble Sort Usando la técnica de Bubble Sort podemos realizar la clasificación. Tenga en cuenta que cada tupla es un elemento en la lista dada. Acceda al segundo 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 =[('for', 24), ('is', 10), ('Geeks', 28),
      ('Geeksforgeeks', 5), ('portal', 20), ('a', 15)]
       
print(Sort_Tuple(tup))

Producción:

[('Geeksforgeeks', 5), ('is', 10), ('a', 15), ('portal', 20), ('for', 24), ('Geeks', 28)]

  Método n.º 2: Usar el método sort() Mientras se ordena mediante este método, se cambia el contenido real de la tupla y, al igual que con el método anterior, se realiza el método de ordenación in situ. 

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 = [('rishav', 10), ('akash', 5), ('ram', 20), ('gaurav', 15)]
 
# printing the sorted list of tuples
print(Sort_Tuple(tup))

Producción:

[('akash', 5), ('rishav', 10), ('gaurav', 15), ('ram', 20)]

  Método #3: Usar el método sorted() El método Sorted() ordena una lista y siempre devuelve una lista con los elementos ordenados, sin modificar la secuencia original. Toma tres parámetros de los cuales dos son opcionales, aquí intentamos usar los tres: Iterable: secuencia (lista, tupla, string) o colección (diccionario, conjunto, conjunto congelado) o cualquier otro iterador que necesite ser ordenado. Clave (opcional): una función que serviría como clave o base de comparación de clasificación. Inversa (opcional): para ordenar esto en orden ascendente, podríamos haber ignorado el tercer parámetro, lo que hicimos en este programa. Si se establece como verdadero, entonces el iterable se ordenará en orden inverso (descendente), por defecto se establece como falso. 

Python3

# Python program to sort a list of
# tuples by the second Item using sorted()
 
# 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
    return(sorted(tup, key = lambda x: x[1])) 
 
# Driver Code
tup = [('rishav', 10), ('akash', 5), ('ram', 20), ('gaurav', 15)]
 
# printing the sorted list of tuples
print(Sort_Tuple(tup))

Producción:

[('akash', 5), ('rishav', 10), ('gaurav', 15), ('ram', 20)]

Publicación traducida automáticamente

Artículo escrito por Shivam_k 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 *