ich wusste leider nicht wie ich die Frage bei google sinnvoll formulieren kann um Lösungen zu finden, deswegen mach ichs lieber hier:
Wann ist es möglich/sinnvoll in einem dictionary einträge während des iterierens zu ändern und wann nicht?
Code: Alles auswählen
data = {"a":5}
for key, value in data.items():
if value==5:
data[key]= 10
print(data)
data = {"a":5}
for key, value in data.items():
if value==5:
value= 10 # wirkungslos
print(data)
Code: Alles auswählen
data = {"Hase":{"Preis":0,"Menge":1},"Hund":{"Preis":0,"Menge":0}}
for k,entry in data.items():
if entry["Menge"]==1:
entry["Preis"] = 5
print(data)
Kann man also vereinfacht sagen, wenn der zu verändernde Wert ein dictionary oder eine Liste ist, dann gehts und sonst nicht?
Oder sollte man, um auf Nummer sicher zu gehen, lieber immer alles voll ausschreiben, also im letzten Beispiel auch sicherheitshalber lieber:
data[k]["Preis"] = 5
schreiben? Sich also eine Vorgehensweise angewöhnen, die immer richtig ist, als es ausversehen falsch zu machen?