En este artículo, veremos cómo podemos ordenar una tupla (que consta de elementos flotantes) utilizando sus elementos flotantes. Aquí veremos cómo hacer esto usando el método incorporado sorted() y cómo se puede hacer esto usando el método de clasificación in situ.
Ejemplos:
Input : tuple = [('lucky', '18.265'), ('nikhil', '14.107'), ('akash', '24.541'), ('anand', '4.256'), ('gaurav', '10.365')] Output : [('akash', '24.541'), ('lucky', '18.265'), ('nikhil', '14.107'), ('gaurav', '10.365'), ('anand', '4.256')] Input : tuple = [('234', '9.4'), ('543', '16.9'), ('756', '5.5'), ('132', '4.2'), ('342', '7.3')] Output : [('543', '16.9'), ('234', '9.4'), ('342', '7.3'), ('756', '5.5'), ('132', '4.2')]
Podemos entender esto a partir de la imagen que se muestra a continuación:
Método 1: Uso del método sorted()
Sorted() ordena una tupla y siempre devuelve una tupla con los elementos ordenados, sin modificar la secuencia original. Toma tres parámetros de los cuales dos son opcionales, aquí tratamos de usar los tres:
- Iterable: secuencia (lista, tupla, string) o colección (diccionario, conjunto, conjunto congelado) o cualquier otro iterador que deba ordenarse.
- Clave (opcional): una función que serviría como clave o base de comparación de clasificación.
- Inverso (opcional): si se establece en verdadero, entonces el iterable se ordenará en orden inverso (descendente), por defecto se establece como falso.
Para ordenar esto en orden ascendente, podríamos haber ignorado el tercer parámetro.
# Python code to sort the tuples using float element # Function to sort using sorted() def Sort(tup): # reverse = True (Sorts in Descending order) # key is set to sort using float elements # lambda has been used return(sorted(tup, key = lambda x: float(x[1]), reverse = True)) # Driver Code tup = [('lucky', '18.265'), ('nikhil', '14.107'), ('akash', '24.541'), ('anand', '4.256'), ('gaurav', '10.365')] print(Sort(tup))
Producción:
[('akash', '24.541'), ('lucky', '18.265'), ('nikhil', '14.107'), ('gaurav', '10.365'), ('anand', '4.256')]
Método 2: forma de ordenar en el lugar usando sort():
Mientras se ordena a través de este método, el contenido real de la tupla cambia, mientras que en el método anterior el contenido de la tupla original permanece igual.
# Python code to sort the tuples using float element # Inplace way to sort using sort() def Sort(tup): # reverse = True (Sorts in Descending order) # key is set to sort using float elements # lambda has been used tup.sort(key = lambda x: float(x[1]), reverse = True) print(tup) # Driver Code tup = [('lucky', '18.265'), ('nikhil', '14.107'), ('akash', '24.541'), ('anand', '4.256'), ('gaurav', '10.365')] Sort(tup)
Producción:
[('akash', '24.541'), ('lucky', '18.265'), ('nikhil', '14.107'), ('gaurav', '10.365'), ('anand', '4.256')]
Para obtener más información, visite:
sorted() en Python
lambda en Python
Publicación traducida automáticamente
Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA