logo

ordenar() en Python

La función de clasificación se puede utilizar para ordenar la lista tanto en orden ascendente como descendente. Se puede utilizar para ordenar listas de números enteros, números de punto flotante, cadenas y otros en Pitón . Su complejidad temporal es O (NlogN).

Sintaxis de clasificación de Python ()

La sintaxis de la función sort() en Python es la siguiente.

Sintaxis: lista_nombre.sort(clave=…, inversa=…)



Parámetros:

De forma predeterminada, Python sort() no requiere ningún parámetro adicional y ordena la lista en orden ascendente. Sin embargo, tiene dos parámetros opcionales:

  • llave: función que sirve como clave para la comparación de tipos
  • contrarrestar: Si es verdadero, la lista se ordena en orden descendente.

Valor de retorno: sort() no devuelve nada pero altera la lista original de acuerdo con el parámetro pasado.

¿Qué es la función sort() de Python?

En Python, elsort()>La función es un método que pertenece a la lista. Se utiliza para ordenar en Python o los elementos de una lista en orden ascendente por defecto. Elsort()>El método modifica la lista original in situ, lo que significa que reorganiza los elementos directamente dentro del objeto de lista existente, en lugar de crear una nueva lista ordenada.

Ordenar() en ejemplos de Python

Un ejemplo básico del método sort() de Python.

algoritmo kmp

Ejemplo : En este ejemplo, el siguiente código define una lista denominadaunsorted_list>con elementos numéricos. Elsort()>Luego se aplica el método a la lista, que reorganiza sus elementos en orden ascendente. Luego se imprime la lista ordenada, mostrando el resultado de la operación de clasificación.

Python3




unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)>

>

>

Producción:

Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>

Diferentes formas de ordenar() en Python

En pitón,sort()>es un método incorporado que se utiliza para ordenar elementos en una lista en orden ascendente. Modifica la lista original en su lugar, lo que significa que reordena los elementos directamente dentro de la lista sin crear una nueva lista. Elsort()>el método no devuelve ningún valor; simplemente ordena la lista y la actualiza.

  1. Clasificación Listar en orden ascendente
  2. Clasificación Lista en orden descendente
  3. Ordenar con función personalizada Usando clave
  4. Clasificación Lista de cadenas por longitud
  5. Lista de clasificación de tuplas por un elemento específico
  6. Lista de clasificación de Diccionarios por una clave específica

Ordenar () en Python usando la lista de clasificación en orden ascendente

El método `sort()` en Python se utiliza para ordenar una lista de elementos en orden ascendente. Modifica la lista original in situ, reorganizando sus elementos para que estén en orden numérico o lexicográfico creciente. El método es aplicable a listas que contienen valores numéricos, cadenas o una combinación de ambos. De forma predeterminada, sort() en Python ordena una lista en orden ascendente si no le proporcionamos ningún parámetro.

Ejemplo : En este ejemplo, el siguiente código muestra operaciones de clasificación en diferentes tipos de listas. Primero, ordena una lista de números enteros ('números') en orden ascendente utilizando el método 'sort()'. A continuación, ordena una lista de números de punto flotante ('número decimal') en orden ascendente.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)>

>

>

Producción:

[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>

Ordenar () en Python usando la lista de clasificación en orden descendente

Para ordenar una lista en orden descendente, establezca el parámetro inverso en Verdadero de la función sort() en Python.

my_list.sort(reverse=True)>

Ejemplo: yo En este código de ejemplo se definen tres listas de diferentes tipos (enteros, números de punto flotante y cadenas), las ordena en orden descendente usando el método `sort` con el parámetro `reverse=True` y luego imprime las listas ordenadas.

Python3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)>

>

>

Producción:

[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>

Ordenar con función personalizada usando la tecla

En este método se describe una operación de clasificación con una función personalizada utilizando el parámetro clave. Esto permite ordenar según un criterio específico definido por la función personalizada en lugar del orden predeterminado. La función personalizada se aplica a cada elemento y la lista se ordena en consecuencia.

Ejemplo : En este ejemplo, el código define una función `sortSecond` que devuelve el segundo elemento de una tupla. Luego crea una lista de tuplas, `list1`, y la ordena en orden ascendente según el segundo elemento usando la función `sortSecond`.

Python3




def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)>

>

>

Producción:

[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>

Ordenar la lista de cadenas por longitud en Sort() en Python

En este método ordenamos una lista de cadenas en orden ascendente de sus longitudes usando la función `sort()` con la `key=len`. Esto significa que las cadenas se organizan desde la longitud más corta a la más larga en la lista ordenada resultante.

Ejemplo : En este ejemplo, el siguiente código define una lista de cadenas,words>y luego lo ordena según la longitud de cada cadena usando ellen()>funcionan como clave de clasificación. Finalmente, imprime la lista ordenada.

Python3




# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)>

>

>

Producción :

Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>

Ordenar lista de tuplas por un elemento específico

Para ordenar una lista de tuplas por un elemento específico, use la función `sort()` con el parámetro `key`. Especifique una función lambda como clave, dirigida al índice del elemento deseado. Las tuplas se ordenarán según los valores de ese elemento específico.

Ejemplo : En este método, el código define una lista de tuplas denominadas 'personas', donde cada tupla representa el nombre y la edad de una persona. Luego ordena la lista según el segundo elemento de cada tupla (edad) usando elsort>método y una función lambda como clave de clasificación.

Python3




# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)>

>

>

Producción :

Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]>

Ordenar la lista de diccionarios por una clave específica

Este método implica el uso de la función `sort()` en una lista de diccionarios en Python. Al especificar una función lambda como parámetro clave, puede ordenar la lista según una clave específica dentro de cada diccionario. Esto permite organizar la lista de diccionarios en orden ascendente según los valores asociados con la clave elegida.

Ejemplo : En este ejemplo, el código define una lista de diccionarios llamadosstudents>, donde cada diccionario representa un estudiante con claves de nombre y edad. Luego ordena la lista de diccionarios según la clave de edad en cada diccionario usando elsort>método y una función lambda como clave.

Python3




# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)>

>

>

Producción :

Sorted by Age: [  {'name': 'Charlie', 'age': 22},  {'name': 'Alice', 'age': 25},  {'name': 'David', 'age': 28},  {'name': 'Bob', 'age': 30} ]>

Diferencia entre la función sorted() y sort() en Python

Veamos la diferencia entre el ordenado() y función sort() en Python:

Python ordenado()

Ordenación de Python()

La función sorted() devuelve una lista ordenada del objeto iterable específico. El método sort() ordena la lista.
Podemos especificar orden ascendente o descendente mientras usamos la función sorted() Ordena la lista en orden ascendente de forma predeterminada.
Sintaxis : ordenado (iterable, clave = clave, reverso = reverso) Sintaxis : list.sort(reverse=Verdadero|Falso, clave=myFunc)
Su tipo de retorno es una lista ordenada. También podemos usarlo para ordenar una lista en orden descendente.

Se puede utilizar con cualquier iterable, incluso si la comparación entre elementos no está definida

Requiere que los elementos sean comparables utilizando el<>y>>operadores

Mantiene el orden relativo de elementos iguales, haciéndolo estable.

Puede que no sea estable; el orden de elementos iguales puede cambiar.

O (n log n) complejidad temporal para la mayoría de los casos.

O (n log n) complejidad temporal para la mayoría de los casos.

Sólo puede ordenar una lista que contenga un solo tipo de valor. Ordena la lista en su lugar.

Soporta unkey>parámetro para criterios de clasificación personalizados.

También soporta unkey>parámetro para criterios de clasificación personalizados.

Requiere memoria adicional para la nueva lista ordenada.

Realiza la clasificación in situ, ahorrando memoria.

Para saber más por favor consulte Diferencia de Python entre la función sorted() y sort() .