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ử.

Python
diem = [5, 6, 7]
diem[0] = 9
print(diem)

Duyệt qua danh sách

Python
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:

Python
mon = ["Toán", "Văn", "Anh"]
for i, m in enumerate(mon):
print(i + 1, m)

Ví dụ: điểm trung bình

Python
diem = [8, 9, 7, 10, 6]
tong = 0
for d in diem:
tong = tong + d
print("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:

Python
a = [1, 2, 3]
b = a
b[0] = 99
print(a)

Muốn bản sao độc lập, dùng a.copy() hoặc a[:]:

Python
a = [1, 2, 3]
b = a.copy()
b[0] = 99
print(a)
print(b)

Ghi nhớ: danh sách sửa được: ds[i] = giá_trị. Duyệt bằng for phan_tu in ds. b = a không sao chép — dùng a.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ớ.

Thay đổi và duyệt danh sách · Lý thuyết Python · PyKid