thể trùng lặp:
Python: How do I pass a variable by reference?Python: Khi nào một biến được truyền theo tham chiếu và khi nào theo giá trị?
Mã của tôi:
locs = [ [1], [2] ]
for loc in locs:
loc = []
print locs
# prints => [ [1], [2] ]
Tại sao loc
không tham khảo các yếu tố của locs
?
Python: Mọi thứ được chuyển dưới dạng tham chiếu trừ khi được sao chép rõ ràng [Đây có phải là sự thật không? ]
Vui lòng giải thích .. làm thế nào để python quyết định tham chiếu và sao chép?
Cập nhật:
Làm thế nào để làm gì?
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 phải có các phản ứng xử lý cuối cùng!
- Tôi không muốn sử dụng
enumerate
, có thể không có nó?
Mọi thứ được truyền theo giá trị, nhưng mọi giá trị chỉ là một tham chiếu;) – wim