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