Programa Python para ordenar alfabéticamente una lista de tuplas

Dada una lista de tuplas, escriba un programa Python para ordenar las tuplas alfabéticamente por el primer elemento de cada tupla.

Ejemplos:

Input: [("Amana", 28), ("Zenat", 30), ("Abhishek", 29), ("Nikhil", 21), ("B", "C")]
Output: [('Amana', 28), ('Abhishek', 29), ('B', 'C'), ('Nikhil', 21), ('Zenat', 30)]

Input: [("aaaa", 28), ("aa", 30), ("bab", 29), ("bb", 21), ("csa", "C")]
Output: [('aa', 30), ('aaaa', 28), ('bab', 29), ('bb', 21), ('csa', 'C')]

Método 1: Usando 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 primer 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).

# Python program to sort a
# list of tuples alphabetically
  
  
# Function to sort the list of
# tuples
  
def SortTuple(tup):
      
    # Getting the length of list 
    # of tuples
    n = len(tup)
      
    for i in range(n):
        for j in range(n-i-1):
              
            if tup[j][0] > tup[j + 1][0]:
                tup[j], tup[j + 1] = tup[j + 1], tup[j]
                  
    return tup
      
# Driver's code
  
tup = [("Amana", 28), ("Zenat", 30), ("Abhishek", 29),
        ("Nikhil", 21), ("B", "C")]
          
print(SortTuple(tup))

Producción:

[('Abhishek', 29), ('Amana', 28), ('B', 'C'), ('Nikhil', 21), ('Zenat', 30)]

Método 2: Uso del método sort()
Mientras se ordena a través de 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 in situ de ordenación.

# Python program to sort a list of 
# tuples using sort()  
    
# Function to sort the list
def SortTuple(tup):  
    
    # reverse = None (Sorts in Ascending order)  
    # key is set to sort using first element of  
    # sublist lambda has been used  
    tup.sort(key = lambda x: x[0])  
    return tup  
      
# Driver's code
  
tup = [("Amana", 28), ("Zenat", 30), ("Abhishek", 29),
        ("Nikhil", 21), ("B", "C")]
          
print(SortTuple(tup))

Producción:

[('Abhishek', 29), ('Amana', 28), ('B', 'C'), ('Nikhil', 21), ('Zenat', 30)]

Método 3: Usar el método sorted()

sorted()El método es un método de clase de lista que devuelve la lista ordenada sin realizar ningún cambio en la lista original.

# Python program to sort a list of 
# tuples using sorted()  
    
# Function to sort the list
def Sort_Tuple(tup):  
    
    # reverse = None (Sorts in Ascending order)  
    # key is set to sort using first element of  
    # sublist lambda has been used  
    return(sorted(tup, key = lambda x: x[0]))   
    
# Driver Code  
tup = [("Amana", 28), ("Zenat", 30), ("Abhishek", 29),
        ("Nikhil", 21), ("B", "C")]
    
# printing the sorted list of tuples 
print(Sort_Tuple(tup)) 

Producción:

[('Abhishek', 29), ('Amana', 28), ('B', 'C'), ('Nikhil', 21), ('Zenat', 30)]

Publicación traducida automáticamente

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