On 05/09/2014 10:18, Walter Valenti wrote:
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}]

Oltre alle risposte già data forse potrebbe essere d'interesse questa discussione su Stackoverflow:

http://stackoverflow.com/questions/3611760/scoping-in-python-for-loops

Lorenzo.
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a