Ich habe zwei Wörterbücher mit Schlüssel als String und Werte als integer:Python: wie Schlüssel aus einem Wörterbuch zu löschen, wenn es nicht in einem anderen Wörterbuch vorhanden ist?
ground = {"url1":1,"url2":2,....}
prediction = {"url1":5,"url2":3,....}
Das, was ich tun möchte, ist Schlüssel in Boden zu löschen, wenn sie nicht in Vorhersage existiert.
Ich schrieb die einfachste Sache, die mir in den Sinn kam:
for key in ground:
if key not in prediction:
del ground[key]
und auch versucht, dies:
for key in ground:
if not key in prediction.keys():
del ground[key]
Weder gearbeitet. Wie kann ich das Ziel erreichen?
Haben * nicht funktionieren, wie *? Die zweite funktioniert zumindest gut für mich. –
@DanielRoseman dictionary kann seine Größe während der Iteration nicht ändern. Dies führt zu einem RuntimeError (auf Python 2.7) – loutre
Der erste tut, ja. Aber nicht die zweite. –