Python sorted()-Funktion

Python 内置函数Python Built-in-Funktionen


Beschreibung

sorted()Die Funktion führt eine Sortieroperation an allen iterierbaren Objekten durch.

Unterschied zwischen sort und sorted:

sort ist eine auf Listen angewendete Methode, während sorted alle iterierbaren Objekte sortieren kann.

Die sort-Methode einer Liste arbeitet mit einer vorhandenen Liste und hat keinen Rückgabewert, wohingegen die eingebaute Funktion sorted eine neue Liste zurückgibt, anstatt das Original zu verändern.

Syntax

Syntax von sorted:

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

Parameter description:

  • iterable -- Ein iterierbares Objekt.
  • cmp -- Die Vergleichsfunktion. Sie hat zwei Parameter, die beide aus dem iterierbaren Objekt stammen. Diese Funktion muss folgender Regel folgen: 1 zurückgeben, wenn größer, -1, wenn kleiner, 0, wenn gleich.
  • key -- Das Element, das hauptsächlich für den Vergleich verwendet wird. Es hat nur einen Parameter, der aus dem iterierbaren Objekt stammt und ein Element im iterierbaren Objekt angibt, das zum Sortieren verwendet werden soll.
  • reverse -- Sortierregel. reverse = True bedeutet absteigende Reihenfolge, reverse = False bedeutet aufsteigende Reihenfolge (Standard).

Rückgabewert

Gibt eine neu sortierte Liste zurück.

Beispiele

Das folgende Beispiel zeigt, wie sorted verwendet wird:

>>>a = [5,7,6,3,4,1,2] >>> b = sorted(a) # Die ursprüngliche Liste beibehalten >>> 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])) Mit der cmp-Funktion [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> sorted(L, key=lambda x:x[1]) # key verwenden [('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]) # Nach Alter sortieren [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] >>> sorted(students, key=lambda s: s[2], reverse=True) # In absteigender Reihenfolge sortieren [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>>

Python 内置函数Python Built-in-Funktionen

Andere Erweiterungen