Vấn đề với gán một giá trị cho nhiều list và append trong python

Em đang tìm hiểu python thì gặp một vấn đề không hiểu mà không biết search Google như nào
Cụ thể là với đoạn code này:

a = b = c = []
a.append(1)
print(a, b, c)

thì output sẽ là:
[1] [1] [1]
Ai biết thì cho em xin một lời giải thích ạ!

Bạn buộc phải biết một kiến thức cơ bản đó là. Khi bạn làm như vậy, các biến sẽ cùng trỏ vào một list. Nó cùng dùng chung 1 list. Mà đã dùng chung, thì thằng kia làm gì, mấy thằng kia cũng sẽ tương tự. Điều này tương tự cho với cả dictionary.

lst = [1, 2, 3]
cp_lst = lst   # cực kì không nên
cp_lst = lst[:]   # ok 
cp_lst = lst.copy() # ok 
cp_lst = list(lst) # ok 
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?