Función sorted() de Python

Python 内置函数Funciones integradas de Python


Descripción

sorted()La función ordena todos los objetos iterables.

Diferencia entre sort y sorted:

sort es un método que se aplica a listas, mientras que sorted puede ordenar todos los objetos iterables.

El método sort de list opera sobre una lista existente y no tiene valor de retorno, mientras que la función integrada sorted devuelve una nueva lista, en lugar de modificar la original.

Sintaxis

Sintaxis de sorted:

sorted(iterable, cmp=None, key=None, reverse=False)

Descripción de parámetros:

  • iterable -- objeto iterable.
  • cmp -- función de comparación, que tiene dos parámetros, cuyos valores se toman del objeto iterable. Las reglas que esta función debe cumplir son: si es mayor, devuelve 1; si es menor, devuelve -1; si es igual, devuelve 0.
  • key -- se usa principalmente para el elemento que se va a comparar; tiene un solo parámetro, y el parámetro de la función específica se toma del objeto iterable, designando un elemento del objeto iterable para realizar el ordenamiento.
  • reverse -- regla de ordenamiento; reverse = True es descendente, reverse = False es ascendente (por defecto).

Valor de retorno

Devuelve la lista reordenada.

Ejemplos

Los siguientes ejemplos muestran el uso de sorted:

>>>a = [5,7,6,3,4,1,2] >>> b = sorted(a) # Conservar la lista original >>> a [5, 7, 6, 3, 4, 1, 2] >>> b [1, 2, 3, 4, 5, 6, 7] >>> L=[('b',2),('a',1),('c',3),('d',4)] >>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # Usar la función cmp [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> sorted(L, key=lambda x:x[1]) # Usar key [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>> sorted(students, key=lambda s: s[2]) # Ordenar por edad [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] >>> sorted(students, key=lambda s: s[2], reverse=True) # En orden descendente [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>>

Python 内置函数Funciones integradas de Python

Otras extensiones