Tôi cần tạo một danh sách các danh sách trong Python, vì vậy tôi đã gõ như sau:
myList = [[1] * 4] * 3
Danh sách trông như thế này:
[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
Sau đó, tôi đã thay đổi một trong những giá trị trong cùng:
myList[0][0] = 5
Bây giờ danh sách của tôi trông như thế này:
[[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]]
đó không phải là những gì tôi muốn hoặc mong đợi. Ai đó có thể vui lòng giải thích những gì đang xảy ra, và làm thế nào để khắc phục nó?
[x]*3
lưu trữ 3 tài liệu tham khảo như thế[x, x, x]
chỉ đúng khix
có thể thay đổi. Điều này không hoạt độnga=[4]*3
, ví dụ , sau đóa[0]=5
,a=[5,4,4].