So halten Sie ein Wörterbuch in Python in Ordnung (Code)

不言
Freigeben: 2018-10-11 14:24:56
nach vorne
3093 Leute haben es durchsucht

In diesem Artikel geht es darum, wie Python Wörterbücher in Ordnung hält (Code). Freunde in Not können sich darauf beziehen.

1. Anforderungen

Wir möchten ein Wörterbuch erstellen und gleichzeitig beim Iterieren oder Serialisieren des Wörterbuchs auch die Reihenfolge der Elemente steuern.

2. Lösung

Um die Reihenfolge der Elemente im Wörterbuch zu steuern, können Sie die OrderedDict-Klasse im Collections-Modul verwenden. Bei der Iteration über ein Wörterbuch erfolgt dies streng in der Reihenfolge, in der die Elemente ursprünglich hinzugefügt wurden.

from collections import OrderedDict
d=OrderedDict()
d['a']=1
d['b']=2
d['c']=3
d['d']=4
#根据插入删除输出
for key in d:
print(key,d[key])
Nach dem Login kopieren

Ergebnis:

a 1
b 2
c 3
d 4
Nach dem Login kopieren

OrderedDict ist besonders nützlich, wenn Sie eine Zuordnungsstruktur erstellen möchten, die später serialisiert oder in ein anderes Format codiert werden kann. Beispiel: Wenn Sie die Reihenfolge jedes Felds beim Codieren von JSON genau steuern möchten, müssen Sie zunächst nur die Daten in OrderedDict erstellen:

from collections import OrderedDict
import json

d=OrderedDict()
d['a']=1
d['b']=2
d['c']=3
d['d']=4
j=json.dumps(d)
print(j)
Nach dem Login kopieren

Ergebnis:

{"a": 1, "b": 2, "c": 3, "d": 4}
Nach dem Login kopieren
OrderedDict verwaltet intern eine doppelt verknüpfte Liste. Dadurch werden die Positionen der Tasten entsprechend der Reihenfolge angeordnet, in der Elemente hinzugefügt werden. Das erste neu hinzugefügte Element wird am Ende der verknüpften Liste platziert und anschließend werden die vorhandenen Schlüssel neu zugewiesen, ohne dass sich die Position der Schlüssel ändert.

Bitte beachten Sie: OrderedDict ist doppelt so groß wie ein normales Wörterbuch. Dies liegt an der zusätzlich erstellten verknüpften Liste. Wenn Sie also planen, eine Datenstruktur zu erstellen, die eine große Anzahl von OrderedDict-Instanzen umfasst (z. B. das Lesen von 100.000 Zeilen aus einer CSV-Datei in eine OrderedDict-Liste), müssen Sie eine Anforderungsanalyse der Anwendung durchführen, um die Vorteile zu ermitteln der Verwendung von OrderedDict. Können die Nachteile des zusätzlichen Speicheraufwands überwunden werden?

Das obige ist der detaillierte Inhalt vonSo halten Sie ein Wörterbuch in Python in Ordnung (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!