Python 3 - Wörterbuch

Jeder Schlüssel ist durch einen Doppelpunkt (:) von seinem Wert getrennt, die Elemente sind durch Kommas getrennt und das Ganze ist in geschweiften Klammern eingeschlossen. Ein leeres Wörterbuch ohne Elemente wird mit nur zwei geschweiften Klammern wie folgt geschrieben: {}.

Schlüssel sind innerhalb eines Wörterbuchs eindeutig, Werte jedoch möglicherweise nicht. Die Werte eines Wörterbuchs können von einem beliebigen Typ sein, die Schlüssel müssen jedoch von einem unveränderlichen Datentyp sein, z. B. Zeichenfolgen, Zahlen oder Tupel.

Zugriff auf Werte im Wörterbuch

Um auf Wörterbuchelemente zuzugreifen, können Sie die bekannten eckigen Klammern zusammen mit dem Schlüssel verwenden, um dessen Wert zu erhalten. Das Folgende ist ein einfaches Beispiel -

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

dict['Name']:  Zara
dict['Age']:  7

Wenn wir versuchen, mit einem Schlüssel, der nicht Teil des Wörterbuchs ist, auf ein Datenelement zuzugreifen, wird folgende Fehlermeldung angezeigt:

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print ("dict['Alice']: ", dict['Alice'])

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

dict['Zara']:
Traceback (most recent call last):
   File "test.py", line 4, in <module>
      print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

Wörterbuch aktualisieren

Sie können ein Wörterbuch aktualisieren, indem Sie einen neuen Eintrag oder ein Schlüssel-Wert-Paar hinzufügen, einen vorhandenen Eintrag ändern oder einen vorhandenen Eintrag löschen, wie in einem einfachen Beispiel unten gezeigt.

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School" # Add new entry

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

dict['Age']:  8
dict['School']:  DPS School

Wörterbuchelemente löschen

Sie können entweder einzelne Wörterbuchelemente entfernen oder den gesamten Inhalt eines Wörterbuchs löschen. Sie können auch das gesamte Wörterbuch in einem einzigen Vorgang löschen.

Um ein gesamtes Wörterbuch explizit zu entfernen, verwenden Sie einfach die delErklärung. Das Folgende ist ein einfaches Beispiel -

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

del dict['Name'] # remove entry with key 'Name'
dict.clear()     # remove all entries in dict
del dict         # delete entire dictionary

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

Dies führt zu folgendem Ergebnis.

Eine Ausnahme wird ausgelöst, weil nach del dict, das Wörterbuch existiert nicht mehr.

dict['Age']:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

Note - Die del () -Methode wird im folgenden Abschnitt erläutert.

Eigenschaften von Wörterbuchschlüsseln

Wörterbuchwerte unterliegen keinen Einschränkungen. Dies können beliebige Python-Objekte sein, entweder Standardobjekte oder benutzerdefinierte Objekte. Gleiches gilt jedoch nicht für die Schlüssel.

Bei Wörterbuchschlüsseln sind zwei wichtige Punkte zu beachten:

(a)Mehr als ein Eintrag pro Schlüssel ist nicht zulässig. Dies bedeutet, dass kein doppelter Schlüssel zulässig ist. Wenn während der Zuweisung doppelte Schlüssel gefunden werden, gewinnt die letzte Zuweisung. Zum Beispiel -

#!/usr/bin/python3

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print ("dict['Name']: ", dict['Name'])

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

dict['Name']:  Manni

(b)Schlüssel müssen unveränderlich sein. Dies bedeutet, dass Sie Zeichenfolgen, Zahlen oder Tupel als Wörterbuchschlüssel verwenden können, aber so etwas wie ['Schlüssel'] ist nicht zulässig. Das Folgende ist ein einfaches Beispiel -

#!/usr/bin/python3

dict = {['Name']: 'Zara', 'Age': 7}
print ("dict['Name']: ", dict['Name'])

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

Traceback (most recent call last):
   File "test.py", line 3, in <module>
      dict = {['Name']: 'Zara', 'Age': 7}
TypeError: list objects are unhashable

Integrierte Wörterbuchfunktionen und -methoden

Python enthält die folgenden Wörterbuchfunktionen:

Sr.Nr. Bedienungsanleitung
1 cmp (dict1, dict2)

In Python 3 nicht mehr verfügbar.

2 len (dikt)

Gibt die Gesamtlänge des Wörterbuchs an. Dies entspricht der Anzahl der Elemente im Wörterbuch.

3 str (dikt)

Erzeugt eine druckbare Zeichenfolgendarstellung eines Wörterbuchs

4 Typ (Variable)

Gibt den Typ der übergebenen Variablen zurück. Wenn die übergebene Variable ein Wörterbuch ist, wird ein Wörterbuchtyp zurückgegeben.

Python enthält die folgenden Wörterbuchmethoden:

Sr.Nr. Methode & Beschreibung
1 dict.clear ()

Entfernt alle Elemente des Wörterbuch- Diktats

2 dict.copy ()

Gibt eine flache Kopie des Wörterbuchs dikt zurück

3 dict.fromkeys ()

Erstellen Sie ein neues Wörterbuch mit Schlüsseln aus seq und Werten, die auf value gesetzt sind .

4 dict.get (Schlüssel, Standard = Keine)

Für Schlüssel Schlüssel, gibt Wert oder Standard , wenn Schlüssel nicht im Wörterbuch

5 dict.has_key (Schlüssel)

Verwenden Sie stattdessen die Option in operation.

6 dict.items ()

Gibt eine Liste der Tupelpaare von dict (Schlüssel, Wert) zurück

7 dict.keys ()

Gibt eine Liste der Schlüssel des Wörterbuchs zurück

8 dict.setdefault (Schlüssel, Standard = Keine)

Ähnlich wie get (), setzt jedoch dict [key] = default, wenn key noch nicht in dict enthalten ist

9 dict.update (dict2)

Fügt Wörterbuch dict2 ‚s Schlüsselwerte - Paare zu dict

10 dict.values ​​()

Gibt eine Liste der Werte des Wörterbuchs dikt zurück