Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python-Wörterbuch

Python-Wörterbuch

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

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

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

Wörterbücher sind 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 {} durch Kommas getrennt.

Ein Artikel hat eine key und einem entsprechenden value die als Paar ausgedrückt wird (Schlüssel:Wert ).

Während die Werte jeden Datentyp haben und sich wiederholen können, müssen Schlüssel einen unveränderlichen Typ haben (String, 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 dem eingebauten dict() auch ein Wörterbuch erstellen Funktion.


Zugriff auf Elemente aus dem Wörterbuch

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

Wenn wir die eckigen Klammern [] verwenden , KeyError wird ausgelöst, falls ein Schlüssel nicht im Wörterbuch gefunden wird. Andererseits die get() Methode gibt None zurück wenn 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
None
Traceback (most recent call last):
  File "<string>", line 15, in <module>
    print(my_dict['address'])
KeyError: 'address'

Wörterbuchelemente ändern und hinzufügen

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

Wenn der Schlüssel bereits vorhanden ist, wird der vorhandene Wert aktualisiert. Falls der Schlüssel nicht vorhanden ist, wird ein neuer (Schlüssel:Wert )-Paar wird dem Wörterbuch 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', 'age': 27}
{'name': 'Jack', 'age': 27, 'address': 'Downtown'}

Entfernen von Elementen aus dem Wörterbuch

Wir können ein bestimmtes Element in einem Wörterbuch entfernen, indem wir den pop() verwenden Methode. Diese Methode entfernt ein Element mit dem bereitgestellten key und gibt den value zurück .

Die popitem() -Methode kann verwendet werden, um einen beliebigen (key, value) zu entfernen und zurückzugeben Elementpaar aus dem Wörterbuch. Alle Artikel können auf einmal mit clear() entfernt werden Methode.

Wir können auch den del verwenden Schlüsselwort, 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}
{}
Traceback (most recent call last):
  File "<string>", line 30, in <module>
    print(squares)
NameError: name 'squares' is not defined

Python-Wörterbuchmethoden

Methoden, die mit einem Wörterbuch verfügbar sind, sind unten tabelliert. Einige davon wurden bereits in den obigen Beispielen verwendet.

Methode Beschreibung
löschen() Entfernt alle Elemente aus dem Wörterbuch.
copy() Gibt eine flache Kopie des Wörterbuchs zurück.
fromkeys(seq[, v]) Gibt ein neues Wörterbuch mit Schlüsseln von seq zurück und Wert gleich v (standardmäßig None ).
get(key[,d]) Gibt den Wert des Schlüssels zurück . Wenn die Taste existiert nicht, gibt d zurück (standardmäßig None ).
Elemente() Gib ein neues Objekt der Elemente des Wörterbuchs im Format (Schlüssel, Wert) zurück.
Tasten() Gibt ein neues Objekt der Schlüssel des Wörterbuchs zurück.
pop(taste[,d]) Entfernt das Item mit der Taste und gibt seinen Wert oder d zurück wenn Schlüssel wurde nicht gefunden. Wenn d wird nicht bereitgestellt und der Schlüssel nicht gefunden wird, wird KeyError ausgelöst .
popitem() Entfernt ein beliebiges Element und gibt es zurück (Schlüssel, Wert ). Löst KeyError aus wenn das Wörterbuch leer ist.
setdefault(key[,d]) Gibt den entsprechenden Wert zurück, wenn der Schlüssel steht im Lexikon. Wenn nicht, fügt den Schlüssel ein mit einem Wert von d und gibt d zurück (standardmäßig None ).
update([other]) Aktualisiert das Wörterbuch mit den Schlüssel/Wert-Paaren von other , vorhandene Schlüssel überschreiben.
Werte() Gibt ein neues Objekt der Wörterbuchwerte zurück

Hier sind einige Anwendungsbeispiele dieser Methoden.

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

Ausgabe

{'Math': 0, 'English': 0, 'Science': 0}
('Math', 0)
('English', 0)
('Science', 0)
['English', 'Math', 'Science']

Python-Wörterbuchverständnis

Dictionary Comprehension ist eine elegante und prägnante Möglichkeit, ein neues Wörterbuch aus einem Iterable in Python zu erstellen.

Das Wörterbuchverständnis besteht aus einem Ausdruckspaar (Schlüssel:Wert ) gefolgt von einem for Anweisung in geschweiften Klammern {} .

Hier ist ein Beispiel, um ein Wörterbuch zu erstellen, bei dem jedes Element ein Paar aus einer Zahl und ihrem Quadrat ist.

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

print(squares)

Ausgabe

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Dieser Code entspricht

squares = {}
for x in range(6):
    squares[x] = x*x
print(squares)

Ausgabe

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Eine Dictionary Comprehension kann optional mehr For- oder If-Anweisungen enthalten.

Ein optionaler if -Anweisung kann Elemente herausfiltern, um das neue Wörterbuch zu bilden.

Hier sind einige Beispiele, um ein Wörterbuch mit nur ungeraden Elementen zu erstellen.

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

print(odd_squares)

Ausgabe

{1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

Weitere Informationen zum Verständnis von Wörterbüchern finden Sie unter Python Dictionary Comprehension.


Andere Wörterbuchoperationen

Wörterbuch-Mitgliedschaftstest

Wir können testen, ob ein key in einem Wörterbuch steht oder nicht das Schlüsselwort in verwendet . Beachten Sie, dass der Mitgliedschaftstest nur für keys gilt und nicht für 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)

Ausgabe

True
True
False

Durch ein Wörterbuch iterieren

Wir können jeden Schlüssel in einem Wörterbuch mit einem for durchlaufen Schleife.

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

Ausgabe

1
9
25
49
81

Eingebaute Wörterbuchfunktionen

Eingebaute Funktionen wie all() , any() , len() , cmp() , sorted() , usw. werden häufig mit Wörterbüchern verwendet, um verschiedene Aufgaben auszuführen.

Funktion Beschreibung
alle() Gib True zurück wenn alle Schlüssel des Wörterbuchs wahr sind (oder wenn das Wörterbuch leer ist).
beliebig() Gib True zurück wenn irgendein Schlüssel des Wörterbuchs wahr ist. Wenn das Wörterbuch leer ist, geben Sie False zurück .
len() Gib 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() Gib 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

False
True
6
[0, 1, 3, 5, 7, 9]

Python

  1. Python-Datentypen
  2. Python-Operatoren
  3. Python-pass-Anweisung
  4. Python-Funktionsargumente
  5. Python-Iteratoren
  6. Python-Schließungen
  7. Python-Datetime
  8. Python – Übersicht
  9. Python - Zahlen
  10. Python - Saiten