BÀI 22. KIỂU DỮ LIỆU DANH SÁCH
XEM VIDEO BÀI HỌC
Những nội dung nào đã xuất hiện trong bài học?
1. KIỂU DỮ LIỆU DANH SÁCH
2. DUYỆT CÁC PHẦN TỬ CỦA DANH SÁCH
3. THÊM PHẦN TỬ VÀO DANH SÁCH
4. THỰC HÀNH
Nhiệm vụ 1: Quản lý "Balo đi học".
Nhiệm vụ 2: Lập "Danh sách khách mời sinh nhật".
1. KIỂU DỮ LIỆU DANH SÁCH
Khái niệm:
Danh sách (List) là kiểu dữ liệu cho phép lưu trữ nhiều giá trị trong một biến duy nhất. Đây là kiểu dữ liệu dạng dãy (mảng) phổ biến nhất trong Python.
Ví dụ:
Một danh sách chứa tên các bạn trong tổ: ["An", "Bình", "Chi"].
Khởi tạo danh sách:
Dùng cặp dấu ngoặc vuông [] để bao quanh các phần tử, các phần tử cách nhau bởi dấu phẩy (,).
Ví dụ:
diem_so = [8, 9, 10].
Đặc điểm:
Các phần tử trong danh sách có thể có kiểu dữ liệu khác nhau (số, chữ, lôgic...).
Ví dụ:
thong_tin = ["Lan", 16, True] (Vừa chứa tên, vừa chứa tuổi, vừa chứa giới tính).
Truy cập phần tử:
Dùng chỉ số (vị trí) để lấy giá trị phần tử. Chỉ số bắt đầu từ 0.
Ví dụ:
Cho danh sách A = [10, 20, 30]. Muốn lấy số 10, ta viết A[0].
Độ dài danh sách:
Dùng lệnh len() để đếm số lượng phần tử có trong danh sách.
Ví dụ:
len([1, 2, 3]) sẽ cho kết quả là 3.
Thay đổi và xóa phần tử:
- Thay đổi: Gán giá trị mới cho phần tử tại chỉ số cụ thể. Ví dụ: A[1] = 99 (Sửa phần tử thứ 2 thành 99).
- Xóa: Dùng lệnh del để xóa phần tử tại chỉ số cụ thể. Ví dụ: del A[0] (Xóa phần tử đầu tiên của danh sách).
Ghép danh sách:
Dùng phép cộng + để nối hai danh sách lại với nhau.
Ví dụ:
[1, 2] + [3, 4] sẽ thành [1, 2, 3, 4].
CÂU HỎI TRẮC NGHIỆM
Câu 1: Để khởi tạo một danh sách trong Python, ta sử dụng cặp dấu nào?
Câu 2: Trong danh sách, các phần tử được ngăn cách với nhau bởi dấu gì?
Câu 3: Chỉ số của phần tử đầu tiên trong danh sách bắt đầu từ số mấy?
Câu 4: Hàm nào được sử dụng để đếm số lượng phần tử có trong danh sách?
Câu 5: Phát biểu nào sau đây là ĐÚNG về kiểu dữ liệu của các phần tử trong danh sách?
Câu 6: Cho danh sách A = [10, 20, 30]. Giá trị của A[1] là bao nhiêu?
Câu 7: Lệnh del A[0] thực hiện thao tác nào dưới đây?
Câu 8: Kết quả của phép ghép danh sách [1, 2] + [3, 4] sẽ là danh sách nào?
Câu 9: Cho danh sách A = [5, 10, 15]. Sau khi thực hiện lệnh A[1] = 99, danh sách A sẽ trở thành:
Câu 10: Cho danh sách gio = ["Tao", "Le", "Cam"]. Sau khi thực hiện lệnh del gio[1], danh sách kết quả là:
2. DUYỆT CÁC PHẦN TỬ CỦA DANH SÁCH
Cách duyệt:
Sử dụng vòng lặp for kết hợp với lệnh range() và len() để đi qua lần lượt từng phần tử của danh sách theo chỉ số.
Cú pháp chung:
for i in range(len(A)):
Ví dụ:
In ra từng số trong danh sách A = [5, 10, 15].
CÂU HỎI TRẮC NGHIỆM
Câu 11: Để duyệt tuần tự các phần tử của danh sách theo chỉ số, ta thường dùng vòng lặp for kết hợp với lệnh nào?
Câu 12: Trong câu lệnh for i in range(len(A)):, biến i đại diện cho thông tin gì?
Câu 13: Cho A = [2, 4, 6]. Đoạn chương trình for i in range(len(A)): print(A[i]) sẽ in ra màn hình kết quả gì?
3. THÊM PHẦN TỬ VÀO DANH SÁCH
Phương thức append():
Dùng để thêm một phần tử vào cuối danh sách hiện có.
Cú pháp:
<tên_danh_sách>.append(<giá_trị>)
Ví dụ:
Danh sách giỏ hàng đang có gio = ["Tao", "Le"]. Ta viết lệnh: gio.append("Cam") Kết quả: Giỏ hàng thành ["Tao", "Le", "Cam"]
CÂU HỎI TRẮC NGHIỆM
Câu 14: Phương thức nào sau đây dùng để thêm một phần tử vào danh sách?
Câu 15: Khi dùng lệnh append(), phần tử mới sẽ được thêm vào vị trí nào của danh sách?
Câu 16: Cho danh sách A = [1, 2]. Sau khi thực hiện lệnh A.append(3), danh sách A sẽ có giá trị là:
4. THỰC HÀNH
Nhiệm vụ 1: Quản lý "Balo đi học".
Đề bài:
Tạo một danh sách các vật dụng có trong balo (Ví dụ: "Sách Toán", "Vở ghi", "Bút", "Chai nước"). Sau đó thực hiện việc thay sách, lấy bớt đồ ra và cất thêm một món đồ mới vào balo.
Gợi ý:
- Máy tính đếm từ số 0. Vì vậy món đồ đầu tiên ("Sách Toán") sẽ có vị trí là 0.
- Lệnh del giống như việc vứt một món đồ ra ngoài.
- Lệnh append luôn luôn nhét đồ mới vào dưới cùng của balo.
Nhiệm vụ 2: Lập "Danh sách khách mời sinh nhật".
Đề bài:
Viết chương trình hỏi người dùng muốn mời bao nhiêu bạn dự sinh nhật. Sau đó cho phép nhập tên từng bạn để lưu vào danh sách và cuối cùng in thiệp mời cho từng người.
Gợi ý:
- Khởi tạo danh sách rỗng.
- Nhập số lượng khách muốn mời.
- Nhập tên của từng khách mời.
- In thiệp mời.