LINUX

Cómo ordenar una lista usando el método Python Sort List ()

Cómo ordenar la lista en Python

Tenemos una lista de números o cadenas y queremos ordenar los elementos de esta lista. Básicamente, podemos usar el método de ordenación o la función ordenada para lograr lo que queremos.

La diferencia entre sort y sorted es que sort es un método de lista que modifica la lista en su lugar y no podemos usar el método de sort con otro objeto como tuple, mientras que sorted es una función incorporada que crea una nueva lista y la original no lo hizo. no cambia.

En este artículo, mencionaremos cómo usar estas funciones para ordenar, de manera ascendente o descendente, una lista de números, cadenas, tuplas o literalmente cualquier objeto.

También mencionaremos cómo definir sus propias funciones de clasificación personalizadas.

1) Ordenar una lista de números

Por sort método, podemos ordenar la lista de números ya sean enteros o flotantes.

Nota: el método viene después del objeto como ejemplo a continuación

  >>> Lst = [20, 25.4, 12, -16, -3.14, 3, -5, 7]
  >>> Lst.sort()
  >>> Lst
  [-16, -5, -3.14, 3, 7, 12, 20, 25.4]

Como ves el orden del objeto Lst ha sido cambiado.

Pero si queremos mantener la lista original sin cambiar y asigna el nuevo orden a la nueva lista, usaremos sorted funciona como se muestra a continuación.

  >>> Lst = [20, 25.4, 12, -16, -3.14, 3, -5, 7]
  >>> Sorted_Lst = sorted(Lst)
  >>> Sorted_Lst
  [-16, -5, -3.14, 3, 7, 12, 20, 25.4]

Si queremos ordenar la lista en orden descendente, usaremos la palabra clave reverse y asignándole True como a continuación.

  >>> Lst = [20, 25.4, 12, -16, -3.14, 3, -5, 7]
  >>> Sorted_Lst = sorted(Lst, reverse = True)
  >>> Sorted_Lst
  [25.4, 20, 12, 7, 3, -3.14, -5, -16]

2) Ordenar una lista de cadenas

Usaremos sort o sorted para clasificar cuerdas

    >>> Lst = ['bmw','ford','audi','toyota']
    >>> Lst.sort()
    >>> Lst
    ['audi', 'bmw', 'ford', 'toyota']

También todavía usamos el reverse palabra clave para ordenar en orden descendente.

    >>> Lst = ['bmw','ford','audi','toyota']
    >>> Lst.sort(reverse=True)
    >>> Lst
    ['toyota', 'ford', 'bmw', 'audi']

Nota: Python trata todas las letras mayúsculas antes que las minúsculas

Lo veremos en el siguiente ejemplo.

    >>> Lst = ['bmw','ford','audi','Toyota']
    >>> Lst.sort()
    >>> Lst
    ['Toyota', 'audi', 'bmw', 'ford']

Pero podemos ordenar una lista de cadenas sin distinción entre mayúsculas y minúsculas utilizando la palabra clave key=str.lower por sort método de la siguiente manera.

    >>> Lst = ['bmw','ford','audi','Toyota']
    >>> Lst.sort(key=str.lower)
    >>> Lst
    ['audi', 'bmw', 'ford', 'Toyota']

3) Ordenar una lista de tuplas

Debemos saber que la tupla es un objeto inmutable cuando la lista es un objeto mutable, también cuando ordenamos dos tuplas, comenzamos comparando los primeros elementos de las tuplas y si no son iguales, este es el resultado de la comparación.

    >>> (5, 7) >> (5, 7) > (5, 9)
    False

Por supuesto que podemos usar sort método o sorted función para ordenar tuplas como se muestra a continuación.

    >>> sorted([(5, 4), (3, 3), (3, 10)])
    [(3, 3), (3, 10), (5, 4)]
    >>> sorted([('watermelon', 'green'), ('apple', ''), ('banana', '')])
    [('apple', ''), ('banana', ''), ('watermelon', 'green')]

Nota: Podemos ordenar la tupla por segundo elemento.

usaremos lambda para definir nuestra propia función clave como se muestra a continuación.

    >>> Lst = [("Amanda", 35), ("John", 30), ("Monica", 25)]
    >>> Lst.sort(key=lambda x: x[1])
    >>> print(Lst)
    [('Monica', 25), ('John', 30), ('Amanda', 35)]

4) Ordenar una lista de objetos

Los objetos son tipos de tipos de datos para Python, para ordenar este tipo de tipo de datos, debemos poner estos objetos en una lista como se muestra a continuación.
Supongamos que tenemos un Student la clase tiene métodos de nombre y edad que se ven así: –

    class Student:
        def __init__(self, name, age):
            self.name = name
            self.age = age

Ahora crearemos algunos Student objetos y agréguelos a una lista para ordenarlos.

    >>> John = Student('John', 30)
    >>> Amanda = Student('Amanda', 35)
    >>> Monica = Student('Monica', 25)
    >>> Lst = [John, Amanda, Monica]

Si ordenamos la lista por name método.

    >>> Lst.sort(key=lambda x: x.name)
    >>> print([item.name for item in Lst])
    ['Amanda', 'John', 'Monica']

Si ordenamos la lista por age método.

    >>> Lst.sort(key=lambda x: x.age)
    >>> print([item.name for item in Lst])
    ['Monica', 'John', 'Amanda']

Python tiene muchas funciones y métodos incorporados que nos ayudan a resolver problemas,sort y sorted se utilizan para ordenar cualquier lista de números, cadenas, tuplas y objetos.

Leer también:

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar