Thay đổi và duyệt danh sách
Bài 2/5 · khoảng 8 phút đọc
Khác với chuỗi, danh sách có thể thay đổi (mutable): bạn sửa được từng phần tử.
diem = [5, 6, 7]diem[0] = 9print(diem)Duyệt qua danh sách
mon = ["Toán", "Văn", "Anh"]for m in mon: print("Môn", m)Khi cần cả vị trí lẫn giá trị, dùng enumerate:
mon = ["Toán", "Văn", "Anh"]for i, m in enumerate(mon): print(i + 1, m)Ví dụ: điểm trung bình
diem = [8, 9, 7, 10, 6]tong = 0for d in diem: tong = tong + dprint("Trung bình:", tong / len(diem))Sao chép danh sách: cẩn thận!
Gán b = a không tạo bản sao — hai tên cùng chỉ vào một danh sách:
a = [1, 2, 3]b = ab[0] = 99print(a)Muốn bản sao độc lập, dùng a.copy() hoặc a[:]:
a = [1, 2, 3]b = a.copy()b[0] = 99print(a)print(b)Ghi nhớ: danh sách sửa được:
ds[i] = giá_trị. Duyệt bằngfor phan_tu in ds.b = akhông sao chép — dùnga.copy().
Vì sao ví dụ `b = a` làm `a` cũng thay đổi?
Vì a và b là hai cái tên của cùng một danh sách trong bộ nhớ.