Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Python-Wörterbuchoperationen (mit Beispielen)

Zusammenfassung der Python-Wörterbuchoperationen (mit Beispielen)

不言
不言nach vorne
2018-10-20 14:59:202033Durchsuche

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)

Das Ausgabeergebnis ist:

{'name': 'Tom', 'age': 22, 'city': 'Shanghai', 'ID': '073569'}

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)

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))

Das Ausgabeergebnis ist :

Key:name  , Value:Tom
Key:age   , Value:22
Key:city  , Value:Shanghai
Key:ID    , Value:073569

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)

Das Ausgabeergebnis ist:

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

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)

Das Ausgabeergebnis ist:

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

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)

Das Ausgabeergebnis lautet wie folgt:

sun 2
moon 2
star 4

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)

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen