Python: ¿Cuándo se pasa una variable por referencia y cuándo por valor? [duplicar
Posible duplicado:
Python: ¿Cómo paso una variable por referencia?
Mi código
locs = [ [1], [2] ]
for loc in locs:
loc = []
print locs
# prints => [ [1], [2] ]
Por que esloc
no referencia de elementos delocs
?
Python: Todo se pasa como referencia a menos que se copie explícitamente [¿No es esto cierto? ]
Por favor explique ... ¿cómo decide Python referencia y copia ?
Actualización:
Cómo hacer
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 debe contener la respuesta final procesada! No quiero usarenumerate
, ¿es posible sin él?