Sortiermethode für Python-Wörterbuch

[Wörterbuch] in Python ist eine ungeordnete Variablenfolge von „Schlüssel-Wert-Paaren“.
In praktischen Anwendungen ist das Sortieren von Wörterbuchtypdaten ein relativ häufiger Vorgang.
Hauptsächlich wird die in Python integrierte Funktion sorted() verwendet, die alle iterierbaren Objekte sortieren kann.
Die Syntax von sorted() lautet wie folgt (Python3):

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

Parameterbeschreibung:

Parameter Definition
wiederholbar Iterierbare Objekte sind Objekte, die mithilfe einer for-Schleife iteriert werden können.
Schlüssel Es wird hauptsächlich zum Vergleichen von Elementen verwendet und hat nur einen Parameter. Die spezifischen Funktionsparameter werden aus dem iterierbaren Objekt übernommen und zum Angeben eines Elements im iterierbaren Objekt zum Sortieren verwendet.
umkehren Sortierregeln, Reverse=Falsche aufsteigende Reihenfolge (Standard), Reverse=Echte absteigende Reihenfolge.

Im Folgenden werden die beiden häufigsten Verwendungszwecke der Funktion sorted() beim Sortieren von Wörterbüchern zusammengefasst.

Erstens: Die gebräuchlichste Datensortierung im Einzelwörterbuchformat

Es wird eine einstufige Wörterbuchsortierung verwendet, zum Beispiel:

# 字典排序
a = {
    
    'a': 3, 'c': 89, 'b': 0, 'd': 34}
# 按照字典的值进行排序
a1 = sorted(a.items(), key=lambda x: x[1])
# 按照字典的键进行排序
a2 = sorted(a.items(), key=lambda x: x[0])
print('按值排序后结果', a1)
print('按键排序后结果', a2)
print('结果转为字典格式', dict(a1))
print('结果转为字典格式', dict(a2))

Fügen Sie hier eine Bildbeschreibung ein
Prinzip: Jedes Element in der Liste [('a', 3), ('c', 89), ('b',0), ('d', 34)] wird von a.items() als Parameter zurückgegeben Bei der anonymen Funktion (Lambda) wird x[0] nach „Schlüssel“ und x[1] nach „Wert“ sortiert. Das zurückgegebene Ergebnis ist eine neue Liste, die über dict( in das Wörterbuchformat konvertiert werden kann. ) Funktion.

Zweiter Typ: Sortierung der Wörterbuchliste

Daten in einem einzelnen Wörterbuchformat, die in einer Liste verschachtelt sind, kommen in praktischen Anwendungen häufiger vor.
Die Sortiermethode für Daten in diesem Format ist wie folgt:

b = [{
    
    'name': 'lee', 'age': 23}, {
    
    'name': 'lam', 'age': 12}, {
    
    'name': 'lam', 'age': 18}]
b1 = sorted(b, key=lambda x: x['name'])
b2 = sorted(b, key=lambda x: x['age'],  reverse=True)
b3 = sorted(b, key=lambda x: (x['name'], -x['age']))
print('按name排序结果:', b1)
print('按age排序结果:', b2)
print('name相同按age降序排列:', b3)

Fügen Sie hier eine Bildbeschreibung ein
Prinzip: Verwenden Sie jedes Wörterbuchelement in Liste b als Parameter der anonymen Funktion und verwenden Sie dann den Schlüssel, um die Elemente im Wörterbuch nach Bedarf als Sortierbedingung zu verwenden. Beispielsweise verwendet x ['name'] den entsprechenden Wert der zu sortierende Namensschlüssel.

-Ende-

Supongo que te gusta

Origin blog.csdn.net/LHJCSDNYL/article/details/122525942
Recomendado
Clasificación