Aliasing và các hiệu ứng phụ list Python (phần 2)

Aliasing và các hiệu ứng phụ list Python (tiếp tục)

Nếu dữ liệu là các strings không đổi, aliasing có thể lưu trên bộ nhớ. Nhưng như bạn có thể tưởng tượng, aliasing
không luôn là thứ tốt khi các hiệu ứng phụ là có thể. Phép gán tạo một alias tới cùng object hơn là một tham chiếu
tới một bản sao của object. Để ngăn chặn aliasing, bạn có thể tạo một object mới và copy các nội dung của gốc vào
nó, như thể hiện trong phiên làm việc tiếp theo:

> third = []
>>> for element in first:

third.append(element)

>>> first
[10, 99, 30]
>>> third
[10, 99, 30]
>>> first[l] = 100
>>> first
[10, 100, 30]
>>> third
[10, 99, 30]

Các biến first và third tham chiếu đến 2 list objects khác nhau mặc dù các nội dung của chúng ban đầu là giống nhau,
như thể hiện ảnh dưới. Điểm quan trọng là rằng chúng không phải là các aliases, nên bạn không phải lo lắng về các
hiệu ứng phụ.
khác
Một cách thức đơn giản hơn để copy một list là truyền list nguồn tới một lời gọi của hàm list, như sau:

>>> third = list(first)

Chia sẻ