Ví dụ: Duy có rất nhiều sách và muốn lập một chương trình quản lý sách.
Chương trình cần có chức năng: - Lưu trữ danh sách tên các quyển sách - Thêm tên một quyển sách vào danh
sách
- Hiện tên các quyển sách trong danh sách
=> Ý tưởng là gì?
1) Khái niệm
• Danh sách là một dãy hữu hạn các phần tử (có thể khơng cùng kiểu)
• Danh sách được đặt tên và các phần tử đều được đánh chỉ số
• Các phần tử của List được phân cách nhau ra bởi dấu phẩy (,).
• Được giới hạn bởi cặp ngoặc [ ], tất cả những gì nằm trong đó là những phần tử của List.
2) Cách khởi tạo
Cách 1: Sử dụng cặp dấu ngoặc[] đặt giá trị
bên trong Cú pháp:
[<giá trị thứ nhất>, <giá trị thứ hai>, .., <giá trị thứ n – 1>, <giá trị thứ n>]
Ví dụ:
lst = [“Tốn học”, “Hình học”, “Tin học”, “Hồn rỗng”]
empty_list = [] # khởi tạo list rỗng
Cách 2: Sử dụng List Comprehension (bao
quát) Cú pháp:
Ví dụ:
[Comprehension] Ví dụ:
>>> a = [kteam for kteam in range(3)] >>> a [0, 1, 2] >>> another_lst = [[n, n * 1, n * 2] for n in range(1, 4)] >>> another_lst [[1, 1, 2], [2, 2, 4], [3, 3, 6]]
Ví dụ: Nhập dữ liệu cho List các phần tử cùng kiểu
Cú pháp:
<tênds> = [<kiểu>(<biến chạy>) for <biến chạy> in input().split()]
Trong đó:
<tênds>, <biến chạy>: được đặt theo quy tắc đặt tên biến
<kiểu>: là kiểu int hoặc float tùy vào danh sách nhập vào là số nguyên hay thực
Cách 3: Sử dụng constructor List Cú pháp: list (iterable)
Lưu ý: iterable là một đối tượng nói chung
của các container. (Ta đã được biết hai
iterable đó chính là chuỗi, và List). Ví dụ: >>> lst = list([1, 2, 3]) >>> lst [1, 2, 3] >>> str_lst = list('HOWKTEAM') >>> str_lst
['H', 'O', 'W', 'K', 'T', 'E', 'A', 'M'] >>> list(1)
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable
* Hàm map() Cú pháp
map(function, iterable 1, iterable 2, ...) Trong đó:
tử trong iterable
- iterable: một list, tuple, dictionary … muốn duyệt
Ý nghĩa:
- Duyệt tất cả các phần tử của một iterable (list, tuple, dictionary...) qua một hàm cho trước và trả về một list kết quả sau khi thực thi.
- Giá trị trả về từ map() được gọi là map object. Đối tượng này có thể được truyền vào các hàm list() (để tạo list trong Python), hay set() (để tạo một set các phần tử mới)…
4) Đưa danh sách ra màn hìnhCú pháp: Cú pháp:
for <biến chạy> in <tênds>: print(<biến chạy>) Hoặc:
print(<tênds>) Hoạt động 2: Tìm hiểu các thao tác trên List trong Python a) Mục tiêu: Nắm được cách khai báo mảng một chiều
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV. V.
c) Sản phẩm: HS hồn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ:
Giải thích ví dụ rõ để học sinh phân biệt tên kiểu mảng, tên biến mảng.
- Yêu cầu học sinh cho ví dụ về 2 cách kha i báo trên.
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi
+ GV: quan sát và trợ giúp các cặp.
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát bi ểu lại các tính chất.
+ Các nhóm nhận xét, bổ sung cho nhau.
* Bước 4: Kết luận, nhận định: GV chín h xác hóa và gọi 1 học sinh nhắc lại kiến thức