Python-Wörterbuch (mit Beispielen)

In diesem Tutorial erfahren Sie alles über Python-Wörterbücher. wie sie erstellt werden, auf Elemente zugreifen, sie hinzufügen, sie entfernen und verschiedene integrierte Methoden.

Video: Python-Wörterbücher zum Speichern von Schlüssel- / Wertepaaren

Das Python-Wörterbuch ist eine ungeordnete Sammlung von Elementen. Jedes Element eines Wörterbuchs hat ein key/valuePaar.

Wörterbücher werden optimiert, um Werte abzurufen, wenn der Schlüssel bekannt ist.

Python-Wörterbuch erstellen

Das Erstellen eines Wörterbuchs ist so einfach wie das Platzieren von Elementen in geschweiften Klammern, ()die durch Kommas getrennt sind.

Ein Element hat ein keyund ein entsprechendes Element value, das als Paar ausgedrückt wird ( Schlüssel: Wert ).

Während die Werte von einem beliebigen Datentyp sein können und sich wiederholen können, müssen Schlüssel vom unveränderlichen Typ sein (Zeichenfolge, Zahl oder Tupel mit unveränderlichen Elementen) und eindeutig sein.

 # empty dictionary my_dict = () # dictionary with integer keys my_dict = (1: 'apple', 2: 'ball') # dictionary with mixed keys my_dict = ('name': 'John', 1: (2, 4, 3)) # using dict() my_dict = dict((1:'apple', 2:'ball')) # from sequence having each item as a pair my_dict = dict(((1,'apple'), (2,'ball')))

Wie Sie oben sehen können, können wir mit der integrierten dict()Funktion auch ein Wörterbuch erstellen .

Zugriff auf Elemente aus dem Wörterbuch

Während die Indizierung mit anderen Datentypen verwendet wird, um auf Werte zuzugreifen, verwendet ein Wörterbuch keys. Schlüssel können entweder in eckigen Klammern ()oder mit der get()Methode verwendet werden.

Wenn wir die eckigen Klammern verwenden (), KeyErrorwird diese angehoben, falls im Wörterbuch kein Schlüssel gefunden wird. Andererseits gibt die get()Methode zurück, Nonewenn der Schlüssel nicht gefunden wird.

 # get vs () for retrieving elements my_dict = ('name': 'Jack', 'age': 26) # Output: Jack print(my_dict('name')) # Output: 26 print(my_dict.get('age')) # Trying to access keys which doesn't exist throws error # Output None print(my_dict.get('address')) # KeyError print(my_dict('address'))

Ausgabe

 Jack 26 Keine Traceback (letzter Anruf zuletzt): Datei "", Zeile 15, in gedruckter Form (my_dict ('address')) KeyError: 'address'

Ändern und Hinzufügen von Wörterbuchelementen

Wörterbücher sind veränderlich. Mit einem Zuweisungsoperator können wir neue Elemente hinzufügen oder den Wert vorhandener Elemente ändern.

Wenn der Schlüssel bereits vorhanden ist, wird der vorhandene Wert aktualisiert. Falls der Schlüssel nicht vorhanden ist, wird dem Wörterbuch ein neues Paar ( Schlüssel: Wert ) hinzugefügt.

 # Changing and adding Dictionary Elements my_dict = ('name': 'Jack', 'age': 26) # update value my_dict('age') = 27 #Output: ('age': 27, 'name': 'Jack') print(my_dict) # add item my_dict('address') = 'Downtown' # Output: ('address': 'Downtown', 'age': 27, 'name': 'Jack') print(my_dict)

Ausgabe

 ('Name': 'Jack', 'Alter': 27) ('Name': 'Jack', 'Alter': 27, 'Adresse': 'Innenstadt')

Elemente aus dem Wörterbuch entfernen

Mit der pop()Methode können wir ein bestimmtes Element in einem Wörterbuch entfernen . Diese Methode entfernt ein Element mit dem bereitgestellten keyund gibt das zurück value.

Die popitem()Methode kann verwendet werden, um ein beliebiges (key, value)Elementpaar aus dem Wörterbuch zu entfernen und zurückzugeben . Mit der clear()Methode können alle Elemente gleichzeitig entfernt werden.

Wir können das delSchlüsselwort auch verwenden , um einzelne Elemente oder das gesamte Wörterbuch selbst zu entfernen.

 # Removing elements from a dictionary # create a dictionary squares = (1: 1, 2: 4, 3: 9, 4: 16, 5: 25) # remove a particular item, returns its value # Output: 16 print(squares.pop(4)) # Output: (1: 1, 2: 4, 3: 9, 5: 25) print(squares) # remove an arbitrary item, return (key,value) # Output: (5, 25) print(squares.popitem()) # Output: (1: 1, 2: 4, 3: 9) print(squares) # remove all items squares.clear() # Output: () print(squares) # delete the dictionary itself del squares # Throws Error print(squares)

Ausgabe

 16 (1: 1, 2: 4, 3: 9, 5: 25) (5, 25) (1: 1, 2: 4, 3: 9) () Rückverfolgung (letzter Aufruf zuletzt): Datei "", Zeile 30 im Druck (Quadrate) NameError: Der Name 'Quadrate' ist nicht definiert

Python-Wörterbuchmethoden

Methoden, die mit einem Wörterbuch verfügbar sind, sind unten tabellarisch aufgeführt. Einige von ihnen wurden bereits in den obigen Beispielen verwendet.

Methode Beschreibung
klar() Entfernt alle Elemente aus dem Wörterbuch.
Kopieren() Gibt eine flache Kopie des Wörterbuchs zurück.
fromkeys (seq (, v)) Gibt ein neues Wörterbuch mit Schlüsseln aus seq und einem Wert gleich v zurück (standardmäßig v None).
get (Schlüssel (, d)) Gibt den Wert des Schlüssels zurück. Wenn der Schlüssel nicht vorhanden ist, wird d zurückgegeben (standardmäßig None).
Artikel() Gibt ein neues Objekt der Wörterbuchelemente im Format (Schlüssel, Wert) zurück.
Schlüssel() Gibt ein neues Objekt der Wörterbuchwörter zurück.
Pop (Taste (, d)) Entfernt das Element mit dem Schlüssel und gibt seinen Wert oder d zurück, wenn der Schlüssel nicht gefunden wird. Wenn d nicht angegeben ist und der Schlüssel nicht gefunden wird, wird er ausgelöst KeyError.
popitem () Entfernt ein beliebiges Element ( Schlüssel, Wert ) und gibt es zurück. KeyErrorWird ausgelöst, wenn das Wörterbuch leer ist.
setdefault (Taste (, d)) Gibt den entsprechenden Wert zurück, wenn sich der Schlüssel im Wörterbuch befindet. Wenn nicht, fügt der Schlüssel mit dem Wert d ein und gibt d zurück (standardmäßig None).
Update ((andere)) Updates the dictionary with the key/value pairs from other, overwriting existing keys.
values() Returns a new object of the dictionary's values

Here are a few example use cases of these methods.

 # Dictionary Methods marks = ().fromkeys(('Math', 'English', 'Science'), 0) # Output: ('English': 0, 'Math': 0, 'Science': 0) print(marks) for item in marks.items(): print(item) # Output: ('English', 'Math', 'Science') print(list(sorted(marks.keys())))

Output

 ('Math': 0, 'English': 0, 'Science': 0) ('Math', 0) ('English', 0) ('Science', 0) ('English', 'Math', 'Science')

Python Dictionary Comprehension

Dictionary comprehension is an elegant and concise way to create a new dictionary from an iterable in Python.

Dictionary comprehension consists of an expression pair (key: value) followed by a for statement inside curly braces ().

Here is an example to make a dictionary with each item being a pair of a number and its square.

 # Dictionary Comprehension squares = (x: x*x for x in range(6)) print(squares)

Output

 (0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25)

This code is equivalent to

 squares = () for x in range(6): squares(x) = x*x print(squares)

Output

 (0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25)

A dictionary comprehension can optionally contain more for or if statements.

An optional if statement can filter out items to form the new dictionary.

Here are some examples to make a dictionary with only odd items.

 # Dictionary Comprehension with if conditional odd_squares = (x: x*x for x in range(11) if x % 2 == 1) print(odd_squares)

Output

 (1: 1, 3: 9, 5: 25, 7: 49, 9: 81)

To learn more dictionary comprehensions, visit Python Dictionary Comprehension.

Other Dictionary Operations

Dictionary Membership Test

We can test if a key is in a dictionary or not using the keyword in. Notice that the membership test is only for the keys and not for the values.

 # Membership Test for Dictionary Keys squares = (1: 1, 3: 9, 5: 25, 7: 49, 9: 81) # Output: True print(1 in squares) # Output: True print(2 not in squares) # membership tests for key only not value # Output: False print(49 in squares)

Output

 True True False

Iterating Through a Dictionary

We can iterate through each key in a dictionary using a for loop.

 # Iterating through a Dictionary squares = (1: 1, 3: 9, 5: 25, 7: 49, 9: 81) for i in squares: print(squares(i))

Output

 1 9 25 49 81

Dictionary Built-in Functions

Integrierte Funktionen wie all(), any(), len(), cmp(), sorted(), etc. sind häufig mit Wörterbuch verwendet , um verschiedene Aufgaben auszuführen.

Funktion Beschreibung
alle() Rückgabe, Truewenn alle Schlüssel des Wörterbuchs True sind (oder wenn das Wörterbuch leer ist).
irgendein() Rückgabe, Truewenn ein Schlüssel des Wörterbuchs wahr ist. Wenn das Wörterbuch leer ist, kehren Sie zurück False.
len () Geben Sie die Länge (die Anzahl der Elemente) im Wörterbuch zurück.
cmp () Vergleicht Elemente aus zwei Wörterbüchern. (Nicht verfügbar in Python 3)
sortiert () Gibt eine neue sortierte Liste von Schlüsseln im Wörterbuch zurück.

Hier sind einige Beispiele, die integrierte Funktionen verwenden, um mit einem Wörterbuch zu arbeiten.

 # Dictionary Built-in Functions squares = (0: 0, 1: 1, 3: 9, 5: 25, 7: 49, 9: 81) # Output: False print(all(squares)) # Output: True print(any(squares)) # Output: 6 print(len(squares)) # Output: (0, 1, 3, 5, 7, 9) print(sorted(squares))

Ausgabe

 Falsch Richtig 6 (0, 1, 3, 5, 7, 9)

Interessante Beiträge...