Eventuali duplicati:
Python: How do I pass a variable by reference?Python: quando una variabile passa per riferimento e quando per valore?
Il mio codice:
locs = [ [1], [2] ]
for loc in locs:
loc = []
print locs
# prints => [ [1], [2] ]
Perché loc
non di riferimento di elementi di locs
?
Python: Tutto viene passato come riferimento se non è stato copiato esplicitamente [Non è vero? ]
Spiegare per favore ... come decide python fare riferimento e copiare?
Aggiornamento:
Come fare?
def compute(ob):
if isinstance(ob,list): return process_list(ob)
if isinstance(ob,dict): return process_dict(ob)
for loc in locs:
loc = compute(loc) # What to change here to make loc a reference of actual locs iteration ?
- locs devono contenere la risposta finale trasformati!
- Non voglio usare
enumerate
, è possibile senza di esso?
Tutto è passato per valore, ma ogni valore è solo un riferimento;) – wim