Ich habe ein Python-Programm, das eine Liste an eine globale Variable anhängen soll, aber statt anzuhängen überschreibt es die Liste. Dies ist eine Demo-Funktion, die ich gemacht, die auf die gleiche Weise funktioniert:Append überschreibt vorhandene Daten in der Liste
var_gobal = []
def parse(list_parse,stack):
for element in list_parse:
stack.append(element["a"])
print(stack)
global var_gobal
var_gobal.append(stack)
to_parse = [{"a":"abc","b":"bcd","c":"cde"},{"a":"def","b":"efg","c":"ghi"}]
parse(to_parse,[])
print (var_gobal)
Die erwartete Ausgabe
[['abc'], ['abc', 'def']]
sein sollte, aber ich bekomme stattdessen
[['abc', 'def'], ['abc', 'def']]
Das erste Element der Liste ist überschrieben Warum passiert dies?
Sollte nicht 'global var_global' außerhalb der Schleife sein? – Petar
Gleicher Ausgang macht keinen Unterschied. –