Heim > Artikel > Backend-Entwicklung > Eine erfrischende Übersicht über die Grundlagen des Python-Wörterbuchs
In einem früheren Tutorial habe ich einen sehr vielseitigen und flexiblen Objekttyp in Python besprochen, die list. In diesem Artikel beschreibe ich weiterhin einen anderen flexiblen Python-Objekttyp namens Wörterbuch (auch assoziatives Array oder Hash genannt). Wie Listen sind Wörterbücher ein wichtiges Konzept, das Sie beherrschen müssen, um auf Ihrer Python-Reise voranzukommen.
Wenn Sie den Artikel „Liste“ gelesen haben, werden Sie das Konzept des Wörterbuchs leicht verstehen. Sie sind Listen sehr ähnlich, weisen jedoch zwei Hauptunterschiede auf:
Es handelt sich um ungeordnete Mengen (im Gegensatz zu geordneten Listen).-Schlüssel nicht vom Typ Liste oder Wörterbuch sein kann. Lassen Sie uns ein Englisch-Französisch-Wörterbuch erstellen
Wie wir im vorherigen Abschnitt gesehen haben, ist ein Wörterbuch nur eine ungeordnete Menge von Schlüssel-Wert-Paaren. Lassen Sie uns dieses Konzept verwenden, um unser erstes Beispiel zu erstellen: ein Englisch-Französisch-Wörterbuch. Das Wörterbuch kann wie folgt erstellt werden:english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}
enthält fünf englische Wörter, die als
Schlüssel und ihre französischen Bedeutungen als english_french
Werte festgelegt sind.
Angenommen, wir möchten wissen, wie man auf Französisch sagt. Alles was wir tun müssen ist:
pen
Sie erhalten english_french['pen']
als Rückgabewert darin.
Machen Sie die Dinge interessanterstylo
french_spanish
-Wörterbuch, dessen Wörter mit denen im french_spanish
词典,其单词与 english_french
french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}
auf Spanisch sagt, und Sie haben kein Englisch-Spanisch-Wörterbuch zur Hand! Aber keine Sorge, es gibt eine Lösung. Schlagen Sie das Wort in Ihrem
-Wörterbuch nach und verwenden Sie dann die Ergebnisse, um imfrench_spanish
-Wörterbuch nachzuschlagen. Habe es? Sehen wir uns an, wie das in Python geht:
door
,而您手头没有英语-西班牙语词典!但是,不用担心,有一个解决方案。查阅您的 english_french
词典中的单词,然后使用结果查阅 french_spanish
french_spanish[english_french['door']]
Das Ergebnis sollte das Wort
sein.
puerta
。这不是很好吗?尽管您没有英语-西班牙语词典,但您刚刚得到了西班牙语中的 door
Mehr Wörterbuchoperationen
english_french
Wie viele Einträge gibt es im Wörterbuch?
len()
len(english_french)
Du solltest zurückkommen
5
Schlüssel löschen
. Nehmen wir zum Beispiel an, wir möchten das Wort (Schlüssel) aus dem Wörterbuch entfernen. Das geht ganz einfach wie folgt:
door
del english_french['door']
Dadurch werden der
Schlüssel und sein Wert door
及其值porte
porte
gelöscht.
Im vorherigen Abschnitt haben wir den Schlüssel door
。如果我们想检查 door
aus dem Wörterbuch entfernt. Wenn wir überprüfen möchten, ob
„Tor“ in english_french
False
sollte zurückkehren
not
Was glauben Sie, was die folgende Aussage zurückgeben wird? Probieren Sie es einfach aus (Hinweis
'door' 不在 english_french
Was passiert, wenn wir versuchen, auf einen Schlüsselenglish_french['door']
zuzugreifen, der nicht im Wörterbuch vorhanden ist? Sag
回溯(最近一次调用最后):
文件“dictionary.py”,第 7 行,位于 <module></module>
Mittel
打印 english_french['door']
KeyError: 'door'
Möglicherweise muss die english_french
词典的副本,并将其分配给另一个词典。这可以使用 copy()
-Funktion einfach so ausgeführt werden:
new_english_french = english_french.copy()
Wie oben erwähnt, können Werte in einem Wörterbuch von jedem Typ sein, einschließlich Wörterbüchern. Dies nennt man Nesting. Beispiele sind wie folgt:
学生 = {'ID':{'name':'Abder-Rahman', 'number':'1234'}}
Wenn Sie also student['ID']
eingeben, sollten Sie Folgendes erhalten:
{'name': 'Abder-Rahman', 'number': '1234'}
Kehren wir zum english_french
-Wörterbuch zurück. Sie können die Elemente eines Wörterbuchs auf verschiedene Arten durchlaufen:
english_french 中的单词:
打印单词
Das Ergebnis dieser Aussage ist wie folgt:
car
pen
paper
door
table
Beachten Sie, dass sich die Reihenfolge der -Schlüssel im Ergebnis von der Reihenfolge im english_french
-Wörterbuch unterscheidet. Sie können jetzt verstehen, warum ich gesagt habe, dass Wörterbücher als ungeordnete Sammlungen behandelt werden.
Eine andere Möglichkeit, Schlüssel zu iterieren, ist wie folgt:
对于 english_french.iterkeys() 中的单词:
打印单词
Bitte beachten Sie, dass wir iterkeys()
函数。类似的可用于迭代值的函数,即 itervalues()
wie unten gezeigt verwendet haben:
用于 english_french.itervalues() 中的含义:
打印含义
Das Ergebnis in diesem Beispiel sollte so aussehen:
voiture
stylo
papier
porte
table
Es gibt andere Verwendungsmöglichkeiten dict
构造函数在 Python 中创建字典。使用 dict
创建相同词典 ID
Einige Beispiele sind wie folgt:
ID = dict(name = 'Abder-Rahman', number = 1234)
ID = dict([('name','Abder-Rahman'),('number',1234)])
ID = dict(zip(['name','number'],['Abder-Rahman',1234])) # 键和值作为列表
Mit Wörterbüchern können Sie mehr erreichen. Weitere Informationen finden Sie in der Python-Dokumentation.
Das obige ist der detaillierte Inhalt vonEine erfrischende Übersicht über die Grundlagen des Python-Wörterbuchs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!