Dictionaries in Python, werden verwendet, um Datenwerte in Schlüssel:Wert-Paaren zu speichern. Auf jeden in einem Dictionary gespeicherten Wert kann über einen Schlüssel zugegriffen werden, der ein beliebiger Objekttyp ist (eine Zeichenkette, eine Zahl, eine Liste usw.), anstatt ihn über seinen Index zu adressieren.
So könnte z. B. eine Datenbank mit Telefonnummern unter Verwendung eines Wörterbuchs wie folgt gespeichert werden:
telefonbuch = {}
telefonbuch["John"] = 938477566
telefonbuch["Jack"] = 938377264
telefonbuch["Jill"] = 947662781
print(telefonbuch)
Alternativ kann ein Dictionary mit den gleichen Werten in der folgenden Notation initialisiert werden:
telefonbuch = {
"John" : 938477566,
"Jack" : 938377264,
"Jill" : 947662781
}
print(telefonbuch)
Iterieren über Dictionaries
Über Dictionaries kann genau wie über eine Liste iteriert werden. Allerdings behält ein Dictionary, anders als eine Liste, nicht die Reihenfolge der darin gespeicherten Werte bei. Um über Schlüssel-Wert-Paare zu iterieren, verwende die folgende Syntax:
telefonbuch = {"Raymond" : 938477566,"Ivan" : 938377264,"Rich" : 947662781}
for name, nummer in telefonbuch.items():
print("Die Telefonnummer von%s lautet %d" % (name, nummer))
Entfernen eines Wertes
Um einen angegebenen Index zu entfernen, verwende eine der folgenden Schreibweisen:
telefonbuch = {
"Raymond" : 938477566,
"Ivan" : 938377264,
"Rich" : 947662781
}
del telefonbuch["Raymond"]
print(telefonbuch)
ODER:
telefonbuch = {
"Raymond" : 938477566,
"Ivan" : 938377264,
"Rich" : 947662781
}
telefonbuch.pop("Raymond")
print(telefonbuch)
Übung
Füge "Mike" mit der Rufnummer 938273443 in das Telefonbuch ein und entferne Rich aus dem Telefonbuch.
telefonbuch = {
"Raymond" : 938477566,
"Ivan" : 938377264,
"Rich" : 947662781
}
# Dein Code kommt hierher
# Test-Code
if "Mike" in telefonbuch:
print("Mike ist im Telefonbuch eingetragen.")
if "Rich" not in telefonbuch:
print("Rich ist nicht im Telefonbuch eingetragen.")
telefonbuch = {
"Raymond" : 938477566,
"Ivan" : 938377264,
"Rich" : 947662781
}
# Dein Code kommt hierher
telefonbuch["Mike"] = 938273443
del telefonbuch["Rich"]
# Test-Code
if "Mike" in telefonbuch:
print("Mike ist im Telefonbuch eingetragen.")
if "Rich" not in telefonbuch:
print("Rich ist nicht im Telefonbuch eingetragen.")
test_output_contains("Mike ist im Telefonbuch eingetragen.")
test_output_contains("Rich ist nicht im Telefonbuch eingetragen.")
success_msg("Hervorragend!")