[Python] Dizionario modificato.
Walter Valenti
waltervalenti a yahoo.it
Ven 5 Set 2014 10:18:58 CEST
Prendiamo questo semplice codice:
def list():
elem = dict()
lista = []
for x in range(3):
elem['nome'] = x
lista.append(elem)
print lista
list()
Mi aspetterei come output:
[{'nome': 0}, {'nome': 1}, {'nome': 2}]
Quello che ottengo è invece:
[{'nome': 2}, {'nome': 2}, {'nome': 2}]
Se invece il ciclo lo scrivo così ("elem" lo dichiaro dentro il ciclo):
def list():
lista = []
for x in range(3):
elem = dict()
elem['nome'] = x
lista.append(elem)
print lista
list()
ottengo l'output come previsto.
Cosa succede nel primo caso?
Viene modificato il dizionario messo nella lista?
Perché?
Grazie
Walter
Maggiori informazioni sulla lista
Python