La función Python list sort() se puede usar para ordenar una lista en orden ascendente, descendente o definido por el usuario. En cada caso, la complejidad del tiempo es O(nlogn).
Para ordenar la lista en orden ascendente
Sintaxis:
nombre_lista.ordenar()
Esto ordenará la lista dada en orden ascendente. Esta función se puede utilizar para ordenar una lista de números enteros, números de punto flotante, strings y otros.
Ejemplo 1: ordenar la lista en orden ascendente
Python3
numbers = [1, 3, 4, 2] # Sorting list of Integers in ascending numbers.sort() print(numbers)
Producción:
[1, 2, 3, 4]
Complejidad de tiempo: O (nlogn)
Ejemplo 1.1
Python3
strs = ["geeks", "code", "ide", "practice"] # Sorting list of Integers in ascending strs.sort() print(strs)
Producción:
['code', 'geeks', 'ide', 'practice']
Complejidad de tiempo : O (nlogn)
Para ordenar la lista en orden descendente
Sintaxis:
list_name.sort(reverse=True)
Esto ordenará la lista dada en orden descendente.
Ejemplo 2: ordenar la lista en orden descendente
Python3
numbers = [1, 3, 4, 2] # Sorting list of Integers in descending numbers.sort(reverse = True) print(numbers)
Producción:
[4, 3, 2, 1]
Complejidad de tiempo : O (nlogn)
Clasificación usando el orden definido por el usuario
Sintaxis:
list_name.sort(key=…, reverse=…) – ordena según la elección del usuario
Parámetros:
- reverse: reverse=True ordenará la lista de forma descendente. El valor predeterminado es inverso = falso
- clave: una función para especificar los criterios de clasificación
Ejemplo 3: Clasificación usando el orden definido por el usuario
Python
# Python program to demonstrate sorting by user's # choice # function to return the second element of the # two elements passed as the parameter 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)]
Complejidad de tiempo : O (nlogn)