Nehmen wir an, ich habe ein assoziatives Array wie folgt: {'key1': 22, 'key2': 42}
.
Wie kann ich überprüfen, ob key1
existiert im Wörterbuch?
Aneurysma
Nehmen wir an, ich habe ein assoziatives Array wie folgt: {'key1': 22, 'key2': 42}
.
Wie kann ich überprüfen, ob key1
existiert im Wörterbuch?
Rafal Rawicki
if key in array:
# do something
Assoziative Arrays werden in Python Wörterbücher genannt und Sie können mehr über sie erfahren in die stdtypes-Dokumentation.
Und stellen Sie sicher, dass Sie den Schlüsselnamen in Anführungszeichen setzen, wenn es sich um eine Zeichenfolge handelt.
– JAL
2. Oktober 2010 um 11:04 Uhr
@astroanu if key not in array
– Spencer Wood
6. August 2015 um 14:38 Uhr
Woher kommt das Wort “Array” in dieser Antwort?
– Ray Salemi
29. März 2017 um 17:19 Uhr
Wie akzeptierte Antworten gehen, ist diese schrecklich. Es beantwortet die Frage in keiner Weise und ist nichts weiter als ein herablassender Link zur Dokumentation. Schade, dass Google das so hoch bewertet.
– cstrutton
12. Juli 2017 um 0:59 Uhr
@cstrutton Bitte schlagen Sie Verbesserungen vor. Zum Zeitpunkt des Schreibens dieser Antwort hatte ich nicht das Gefühl, dass weitere Details erforderlich sind.
– Rafal Rawicki
12. Juli 2017 um 11:13 Uhr
Wenn Sie den Wert des Schlüssels abrufen möchten, falls vorhanden, können Sie auch verwenden
try:
value = a[key]
except KeyError:
# Key is not present
pass
Wenn Sie einen Standardwert abrufen möchten, wenn der Schlüssel nicht vorhanden ist, verwenden Sie
value = a.get(key, default_value)
. Wenn Sie gleichzeitig den Standardwert festlegen möchten, falls der Schlüssel nicht vorhanden ist, verwenden Sie
value = a.setdefault(key, default_value)
.
Es ist zu beachten, dass Sie nur die verwenden sollten try/except
Fall, wenn Sie davon ausgehen, dass der Schlüssel fast 100 % der Zeit vorhanden sein wird. Andernfalls, if in
ist schöner und effizienter. +1 für die Erwähnung der anderen Möglichkeiten.
– Aaronasterling
2. Oktober 2010 um 13:37 Uhr
Interessant, ich erinnere mich, dass ich irgendwo in den offiziellen Dokumenten gelesen habe, dass es besser ist, um Vergebung als um Erlaubnis zu bitten …
– Yannic Hamann
15. Januar 2020 um 6:36 Uhr
Aus Sicht der Leistung ist try/expect besser, wenn Sie es mit dict mit vielen Schlüsseln zu tun haben
– Avo Asatryan
3. März 2020 um 7:52 Uhr
Geisterhund74
Eine andere Methode ist has_key()
(falls noch Python 2.X verwendet wird):
>>> a={"1":"one","2":"two"}
>>> a.has_key("1")
True
has_key
ist veraltet, wurde in Python 3 entfernt und ist in Python 2 halb so schnell
– Aaronasterling
2. Oktober 2010 um 11:10 Uhr
Ja, es ist in 2.x veraltet und ja, es ist halb so schnell in Python 2.x.
– Aaronasterling
2. Oktober 2010 um 11:44 Uhr
veraltet gilt für allen neuen Code. Sobald es veraltet ist, verwenden Sie es nicht mehr.
– Aaronasterling
2. Oktober 2010 um 12:40 Uhr
das Formular ‘Diktat eingeben’ gibt es seit 2.2
– Tim W.
2. Oktober 2010 um 13:01 Uhr
Wir könnten weiter und weiter darüber reden, Tatsache bleibt, es ist immer noch eine alternative Option für <=2.5.
– Geisterhund74
2. Oktober 2010 um 14:15 Uhr
In Python 3 können Sie einfach verwenden
'key1' in {'key1': 22, 'key2': 42}.keys()
beziehen sich auf diekeys()
Methode ein Wörterbuch– Essen Sie bei Joes
10. Februar 2020 um 20:13 Uhr