01/10/2018, 01:02
Lesson 32 learnpythonhardway
Hi anh chị,
em chạy lệnh này bị báo lỗi, anh chị giúp em fix dùm, em check vài lần mà ko tìm dc error
>>> d = [1,2,3],[4,5,6]
>>> d.append([7,8,9])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
Bài liên quan
Trong python thì tuple không thay đổi được nên không có append
hình như cái này không phải lỗi do
tuple
mà là do phần khai báo List d bị saiphải là
d = [[1,2,3],[4,5,6]]
thì đúng hơn vì nếu khai báo làd = [1,2,3],[4,5,6]
thì d sẽ thành([1,2,3],[4,5,6])
(cái này gọi là Tuple) mà Tuple thì không có các method để editCám ơn anh Trung nhiều, em đã viết sai d ko (), nhung sao e co co dau () chi chay d[1], d[0] đều đúng, zậy d có() và không () khác nhau sao anh?
trong trường hợp đó d không có () hay có đều cùng ra một kết quả. Khi gán một giá trị bằng 2 list hay 3 list thì nó tự biến thành
tuple
( như bạn biếttuple
thì không dùng đượcappend()
còn nếu bạn thay ngoặc () thành [] nhưd = [[1,2,3],[4,5,6]]
thì đây được coi là mộtlist
. nhưng khi bạn gọi nó ra thì dù làtuple
hay làlist
thì kết quả của bạn đều như nhau. Chỉ khác duy nhất là một cái có thể dùngappend()
.Cám ơn anh Trung, em đã chạy lại thấy đúng như anh giải thích [[]] kết quả là 1 list, còn ([]) kết quả là tuple nên ko dùng hàm append() để add thêm giá trị ở sau.