グローバル変数にリストを追加するはずのpythonプログラムがありますが、追加する代わりにリストを上書きしています。これと同じように動作し、私が作ったデモ機能:Appendがリスト内の既存のデータを上書きしています
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)
予想される出力は
[['abc'], ['abc', 'def']]
する必要がありますしかし、その代わりに、私は
[['abc', 'def'], ['abc', 'def']]
を取得し、リストの最初の要素はあります上書きされます。なぜこうなった?
は 'グローバルvar_global'は、ループの外ではないでしょうか? – Petar
同じ出力は違いはありません。 –