Zusammenfassung der Python-Wörterbuchoperationen (mit Beispielen)

不言
Freigeben: 2018-10-20 14:59:20
nach vorne
2029 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Zusammenfassung der Funktionsweise des Python-Wörterbuchs (mit Beispielen). Freunde in Not können darauf zurückgreifen.

Die Wörterbuchstruktur (Dikt) ist eine häufig verwendete Datenstruktur in Python. Basierend auf meiner tatsächlichen Nutzungserfahrung fasst der Autor das relevante Wissen über Wörterbücher zusammen und hofft, den Lesern etwas Inspiration zu geben~

Erstellen Sie ein Wörterbuch

Eine übliche Methode zum Erstellen eines Wörterbuchs besteht darin, zunächst ein leeres Wörterbuch zu erstellen und dann nacheinander Schlüssel und Werte hinzuzufügen, z. B. das Erstellen eines Wörterbuchs person={'name ':'Tome', 'age' :22, 'city':'Shanghai, 'ID': '073569'}, Sie können den folgenden Code verwenden:

person = {}
person['name'] = 'Tom'
person['age'] = 22
person['city'] = 'Shanghai'
person['ID'] = '073569'
print(person)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

{'name': 'Tom', 'age': 22, 'city': 'Shanghai', 'ID': '073569'}
Nach dem Login kopieren

Diese Erstellungsmethode ist einfach und originell, der Code nicht einfach und elegant genug. Wir verwenden die Zip-Funktion, um dieses Wörterbuch einfach und schnell zu erstellen:

attrs = ['name', 'age', 'city', 'ID']
values = ['Tom', 22, 'Shanghai', '073569']
person = dict(zip(attrs, values))
print(person)
Nach dem Login kopieren

Das Ausgabeergebnis stimmt mit dem Originalcode überein.

Das Wörterbuch durchqueren

In praktischen Anwendungen müssen wir häufig das Wörterbuch durchqueren. Die Implementierungsmethode finden Sie im folgenden Code:

attrs = ['name', 'age', 'city', 'ID']
values = ['Tom', 22, 'Shanghai', '073569']
person = dict(zip(attrs, values))

for key, value in person.items():
    print('Key:%-6s, Value:%s'%(key, value))
Nach dem Login kopieren

Das Ausgabeergebnis ist :

Key:name  , Value:Tom
Key:age   , Value:22
Key:city  , Value:Shanghai
Key:ID    , Value:073569
Nach dem Login kopieren

Schlüssel-Wert-Paare austauschen

In praktischen Anwendungen müssen wir manchmal den Schlüssel finden, der einem bestimmten Wert im Wörterbuch entspricht, und das Austauschen von Schlüsseln. Wertepaare sind eine andere Möglichkeit. Der Implementierungscode zum Austauschen von Schlüssel-Wert-Paaren lautet wie folgt:

attrs = ['name', 'age', 'city', 'ID']
values = ['Tom', 22, 'Shanghai', '073569']
person = dict(zip(attrs, values))
print('对调前:')
print(person)
Person = {v:k for k,v in person.items()}
print('对调后:')
print(Person)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

对调前:
{'name': 'Tom', 'age': 22, 'city': 'Shanghai', 'ID': '073569'}
对调后:
{'Tom': 'name', 22: 'age', 'Shanghai': 'city', '073569': 'ID'}
Nach dem Login kopieren

Ordered Dictionary OrderedDict

Das Wörterbuch in Python ist ungeordnet und es wird herausgenommen Der Schlüssel ist ungeordnet, da er als Hash gespeichert ist. Manchmal müssen die Elemente oder Schlüssel des Wörterbuchs in der richtigen Reihenfolge gespeichert werden. In diesem Fall können wir das collections im Modul OrderedDict verwenden, bei dem es sich um eine geordnete Wörterbuchstruktur handelt.
Der Beispielcode lautet wie folgt (Python-Version ist 3.5.2):

from collections import OrderedDict
d = {}
d['Tom']='A'
d['Jack']='B'
d['Leo']='C'
d['Alex']='D'
print('无序字典(dict):')
for k,v in d.items():
    print(k,v)
d1 = OrderedDict()
d1['Tom']='A'
d1['Jack']='B'
d1['Leo']='C'
d1['Alex']='D'
print('\n有序字典(OrderedDict):')
for k,v in d1.items():
    print(k,v)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

无序字典(dict):
Leo C
Jack B
Tom A
Alex D
有序字典(OrderedDict):
Tom A
Jack B
Leo C
Alex D
Nach dem Login kopieren

Default dictionarycollections.defaultdict

collections.defaultdict ist Python. Eine Unterklasse der integrierten Klasse dict. Der erste Parameter stellt den Anfangswert für das Attribut default_factory bereit, das standardmäßig None ist. Es überschreibt eine Methode und fügt eine beschreibbare Instanzvariable hinzu. Ansonsten funktioniert es genauso wie dict, stellt jedoch einen Standardwert für einen nicht vorhandenen Schlüssel bereit und vermeidet so KeyError-Ausnahmen.
Nehmen wir als Beispiel die Worthäufigkeitsstatistik der Wörter in der Liste, um die Vorteile von collections.defaultdict zu demonstrieren.
Unter normalen Umständen lautet der Worthäufigkeitscode in unserer statistischen Liste:

words = ['sun', 'moon', 'star', 'star',\
         'star', 'moon', 'sun', 'star']
freq_dict = {}
for word in words:
    if word not in freq_dict.keys():
        freq_dict[word] = 1
    else:
        freq_dict[word] += 1
for key, val in freq_dict.items():
    print(key, val)
Nach dem Login kopieren

Das Ausgabeergebnis lautet wie folgt:

sun 2
moon 2
star 4
Nach dem Login kopieren

Mit collections.defaultdict kann der Code optimiert werden:

from collections import defaultdict

words = ['sun', 'moon', 'star', 'star',\
         'star', 'moon', 'sun', 'star']

freq_dict = defaultdict(int)
for word in words:
    freq_dict[word] += 1

for key, val in freq_dict.items():
    print(key, val)
Nach dem Login kopieren

Andere Standardanfangswerte können festgelegt, aufgelistet, diktiert usw. werden.

Das obige ist der detaillierte Inhalt vonZusammenfassung der Python-Wörterbuchoperationen (mit Beispielen). 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!