01/10/2018, 10:55

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 ạ!

Henry viết 12:58 ngày 01/10/2018

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 
Bài liên quan
0