Tài liệu Python nói rằng việc cắt một danh sách sẽ trả về một danh sách mới.
Bây giờ nếu một danh sách "mới" đang được trả lại, tôi có những nghi ngờ sau liên quan đến "Chuyển nhượng cho các lát"
a = [1, 2, 3]
a[0:2] = [4, 5]
print a
Bây giờ đầu ra sẽ là:
[4, 5, 3]
- Làm thế nào một cái gì đó đang trả lại một cái gì đó có thể xuất hiện ở phía bên trái của biểu thức?
- Có, tôi đã đọc tài liệu và nó nói rằng có thể, bây giờ kể từ khi cắt một danh sách trả về một danh sách "mới", tại sao danh sách ban đầu lại được sửa đổi? Tôi không thể hiểu cơ học đằng sau nó.
a[0] = 4
sẽ làm gì?
=
, vì vậy thay vì loại bỏ điều này như cú pháp không hợp lệ, python biến nó thành một thứ giống như những gì bạn có thể mong đợi. Vì python không có tham chiếu, nó sẽ không hoạt động nếu kết quả của một lát thay đổi danh sách ban đầu. Bạn nhận được một bản sao. Nếu bạn cung cấp thêm thông tin về đơn đăng ký của mình, chúng tôi có thể giúp bạn thực hiện mọi việc theo cách 'pythonic' tốt hơn. :)