Lösche alle Dictionarries mit Value in Liste
Verfasst: Dienstag 18. August 2015, 13:04
Hallo,
Ich stolpere leider mit meinen Anfängerschuhen wieder über ein Problem.
Wenn ich schauen will ob Werte aus Liste A in Liste B vorhanden ist benuzte ich:
Ich habe nun eine Liste von Dictionaries mit folgenden Keys:
Ich möchte nun alle Dictionaries entfernen bei denen "Name" einem Wert aus der Liste selector entspricht.
Mein erster Gedanke sieht so aus:
plants .... Liste mit Dictionaries
selector ... Liste mit Werten welche gelöscht werden soll.
Leider werden aber nicht alle Dictionaries gelöscht, sondern nur die Hälfte. Ich schätze, dass dies deshalb geschieht weil Einträge aus der gleichen Liste lösche über die meine Schleife läüft.
Ich kann "i" nicht einfach "zurücksetzen", da eine Loop nicht, wir bei VBA, einfach erhöht wird.
Ich stolpere leider mit meinen Anfängerschuhen wieder über ein Problem.
Wenn ich schauen will ob Werte aus Liste A in Liste B vorhanden ist benuzte ich:
Code: Alles auswählen
output= [x for x in listeAif x not in ListeB]
Code: Alles auswählen
KEYS = ["Name", "Date Start", "Date End", "Availability", "Status"]
Mein erster Gedanke sieht so aus:
plants .... Liste mit Dictionaries
selector ... Liste mit Werten welche gelöscht werden soll.
Code: Alles auswählen
for i in xrange(0, len(plants)):
print "Length:", len(plants)
print "i",i
try:
if plants[i].get("Name", "Missing") in selector:
print "Found"
else:
print plants[i].get("Name", "Missing")
print "Deleting..."
del plants[i]
except IndexError:
print "index error"
Ich kann "i" nicht einfach "zurücksetzen", da eine Loop nicht, wir bei VBA, einfach erhöht wird.