Python | Ordenar una tupla por su elemento flotante

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:

  1. Iterable: secuencia (lista, tupla, string) o colección (diccionario, conjunto, conjunto congelado) o cualquier otro iterador que deba ordenarse.
  2. Clave (opcional): una función que serviría como clave o base de comparación de clasificación.
  3. 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

Deja una respuesta

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