Umgang mit fehlenden Schlüsseln in Python-Wörterbüchern

| | | | | | | | | | | | | | | | | | | |

# Python-Code zur Präsentation des Wörterbuchs und
# fehlt Wertfehler


# Wörterbuch wird initialisiert

d = { `a` : 1 , ` b` : 2 }


# Versuch, den Wert des fehlenden Schlüssels anzuzeigen

print ( "Der mit `c` verbundene Wert ist: " )

print (d [ ` c` ])

Fehler:

Traceback (letzter Aufruf zuletzt): Datei "46a9aac96614587f5b794e451a8f4f5f.py", Zeile 9, im Druck (d [`c`]) KeyError:` c` 

In Im obigen Beispiel gab kein Schlüssel mit dem Namen "c" im Wörterbuch keinen Laufzeitfehler. Um solche Bedingungen zu vermeiden und den Benutzer darauf hinzuweisen, dass ein bestimmter Schlüssel fehlt, oder eine Standardnachricht an diesen Ort zu senden, gibt es mehrere Möglichkeiten, mit fehlenden Schlüsseln umzugehen.

Methode 1: Verwenden von get ()

Die Methode get (key, def_val) ist nützlich, wenn wir einen Schlüssel validieren müssen. Wenn der Schlüssel vorhanden ist, wird der dem Schlüssel zugeordnete Wert ausgegeben, andernfalls wird der in Argumenten übergebene def_value zurückgegeben.

Methode 2: Verwenden von setdefault ()

setdefault (key, def_value) funktioniert wie get (), aber der Unterschied besteht darin, dass jedes Mal, wenn key fehlt, ein neuer Schlüssel erstellt wird, dem ein def_value zugeordnet ist Schlüssel an Argumente übergeben.

Um die obigen Funktionen zu implementieren, klicken Sie Defaultdict " — es ist ein Container, der in definiert ist ein Modul mit dem Namen „collection ". Es nimmt eine Funktion (default factory) als Argument . Der Standardwert ist die Werkseinstellung ist auf „int" gesetzt, das ist 0 . Wenn Schlüssel fehlt — defaultdict, gibt zurück und default ist wird standardmäßig angezeigt. Es hat Vorrang vor get () oder setdefault ().

# Python-Code zur Demonstration von defaultdict


# import & quot; Sammlungen & Quot; für defaultdict

import Sammlungen


# Standarddeklaration
# setzt den Standardwert "Schlüssel nicht gefunden" für fehlende Schlüssel

defd = Sammlungen. defaultdict ( lambda : `Key Not found` )


# Werte initialisieren

defd [ `a` ] = 1


# Werte initialisieren

defd [ `b` ] = 2


# print value

print ( "Der mit `a` verknüpfte Wert ist: " , Ende = "")

print (defd [ `a` ])


# mit ' c '

print ( "Der Wert, der zugeordnet ist ` c` ist: " , end = " ")

print ( defd [ `c` ])

Ausgabe:

Der mit "a" verknüpfte Wert ist: 1 Der mit "c" verknüpfte Wert ist: Schlüssel nicht gefunden 

Dieser Artikel wurde mit freundlicher Genehmigung von Manjeet Singh . Wenn Sie Python.Engineering sind und einen Beitrag leisten möchten, können Sie auch einen Artikel schreiben, indem Sie Contribute.python.engineering verwenden oder einen Artikel posten Beitrag @ python.engineering. Sehen Sie sich meinen Artikel an, der auf der Python.Engineering-Homepage erscheint, und helfen Sie anderen Geeks.

Bitte posten Sie Kommentare, wenn Sie etwas falsch finden oder wenn Sie weitere Informationen zu dem oben diskutierten Thema teilen möchten.