Можно создать дубликат:
Python: How do I pass a variable by reference?Python: Когда переменная передается по ссылке и когда по значению?
Мой код:
locs = [ [1], [2] ]
for loc in locs:
loc = []
print locs
# prints => [ [1], [2] ]
Почему loc
не отнесение элементов locs
?
Python: все передано как ссылка, если явно не скопировано. [Это не правда? ]
Пожалуйста, объясните .. как python решает ссылки и копирование?
Update:
Как сделать?
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 должен содержать окончательный обработанный ответ!
- Я не хочу использовать
enumerate
, можно ли без него?
Все передается по значению, но каждое значение является просто ссылкой;) – wim