Heim > Artikel > Backend-Entwicklung > Können Python-Wörterbücher sortiert werden?
In Python ist das Wörterbuch ein integrierter Datentyp, eine ungeordnete Speicherstruktur und jedes Element ist ein Schlüssel-Wert-Paar.
Zum Beispiel: dict = {'username': 'xiaoming', 'password': '123456'}, wobei 'username' und 'password' Schlüssel sind, und ' Xiaoming' und '123456' sind Werte. Sie können den Verweis auf den entsprechenden Wertwert über d[key] erhalten, aber Sie können den Schlüssel nicht über value erhalten.
Für das Wörterbuch müssen Sie die folgenden Punkte kennen:
a. Der Wörterbuchschlüssel unterscheidet zwischen Groß- und Kleinschreibung.
b Es dürfen keine doppelten Schlüssel enthalten sein.
c. Wörterbücher sind ungeordnet und haben kein Konzept für die Reihenfolge der Elemente.
Wörterbuch ist nach Schlüssel/Wert sortiert:
Das Wörterbuch selbst hat kein Ordnungskonzept, aber es ist immer irgendwann, aber wir müssen oft nach Wörterbuch sortieren
Methode 1: Sortieren nach Schlüsselwert.
def sortedDictValues1(adict): items = adict.items() print "items:",items items.sort() return [value for key, value in items] adict = {"a1":11,"b1":2,"c1":30,"e1":20,"d1":4} print sortedDictValues1(adict) items: [('a1', 11), ('c1', 30), ('e1', 20), ('b1', 2), ('d1', 4)] [11, 2, 30, 4, 20]
Die items-Methode des Wörterbuchs gibt eine Liste von Tupeln zurück, wobei jedes Tupel ein Elementpaar enthält – einen Schlüssel und einen entsprechenden Wert. Eine Liste von Tupeln kann mit der Methode sort() sortiert werden.
Methode 2: Nach Schlüsselwert sortieren
def sortedDictValues2(adict): keys = adict.keys() keys.sort() return [dict[key] for key in keys]
Die Methode „keys()“ des Wörterbuchobjekts gibt eine Liste aller Schlüsselwerte im Wörterbuch zurück und die Die Reihenfolge ist zufällig. Wenn Sie sortieren müssen, verwenden Sie einfach die Methode sort() für die zurückgegebene Schlüsselwertliste, was schneller als Methode 1 ist.
Methode 3: Nach Schlüsselwert sortieren
def sortedDictValues3(adict): keys = adict.keys() keys.sort() return map(adict.get, keys)
Verwenden Sie die Zuordnungsmethode, um den letzten Schritt effizienter auszuführen
Methode 4: Eins line Statement
[(k,di[k]) for k in sorted(di.keys())]
Methode 5: Nach Wert sortieren
def sort_by_value(d): items=d.items() backitems=[[v[1],v[0]] for v in items] backitems.sort() return [ backitems[i][1] for i in range(0,len(backitems))]
Tausch zuerst den Schlüssel und den Wert des Elements in eine Liste und dann entsprechend der Liste Jeder Der erste Wert des Elements, dh der ursprüngliche Wert, wird sortiert:
Methode 6: Nach Wert sortieren
[ v for v in sorted(di.values())]
Methode 7: Verwenden die sortierte Funktion key= Parametersortierung:
Sortieren nach Schlüssel
print sorted(dict1.items(), key=lambda d: d[0])
Sortieren nach Wert
print sorted(dict1.items(), key=lambda d: d[1]) python内置sorted函数的帮助文档: sorted(…) sorted(iterable, cmp=None, key=None, reverse=False) –> new sorted list
Dictionary-Sortiermethode, tatsächlich sind ihre Kernideen dieselben Das heißt, Wörterbuch Die Elemente in werden in eine Liste aufgeteilt und die Liste wird sortiert, wodurch indirekt das Wörterbuch sortiert wird. Dieses „Element“ kann ein Schlüssel, ein Wert oder ein Element sein.
Methode 8: PYTHON's COLLECTION-Serie – geordnetes Wörterbuch (ORDEREDDICT)
orderdDict ist eine Ergänzung zum Wörterbuchtyp, der die Reihenfolge beibehält, in der Wörterbuchelemente hinzugefügt werden
import collections dic = collections.OrderedDict() dic["featureName"] = "f1" dic["uId"] = "12345" dic["value"] = "7" print dic #结果 #OrderedDict([('featureName', 'f1'), ('uId', '12345'), ('value', '7')])
Das obige ist der detaillierte Inhalt vonKönnen Python-Wörterbücher sortiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!