Sono un programmatore Python di base quindi spero che la risposta alla mia domanda sarà facile. Sto provando a prendere un dizionario e aggiungerlo ad una lista. Il dizionario cambia quindi i valori e quindi viene nuovamente aggiunto in un ciclo. Sembra che ogni volta che lo faccio, tutti i dizionari nella lista cambiano i loro valori in modo che corrispondano a quelli appena aggiunti. Per esempio:Aggiunta di un dizionario a un elenco in un loop Python
>>> dict = {}
>>> list = []
>>> for x in range(0,100):
... dict[1] = x
... list.append(dict)
...
>>> print list
Vorrei assumere il risultato sarebbe [{1:1}, {1:2}, {1:3}... {1:98}, {1:99}]
ma invece ho ottenuto:
[{1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}]
Qualsiasi aiuto è molto apprezzato.
Si sta riempiendo 'list' (che non si dovrebbe chiamare' list') con riferimenti alle stesse 'dict' (che non si dovrebbe chiamare' dict') – jonrsharpe