Thực hành danh sách - Phần 3¶
Tóm lược nội dung
Bài này hướng dẫn áp dụng các thao tác thêm và xoá đối danh sách lồng nhau (list trong list).
Cho bảng xếp hạng hộ chiếu các quốc gia như sau: 1
| Thứ hạng | Quốc gia |
|---|---|
| 1 | United Arab Emirate |
| 2 | Singapore, Spain |
| 3 | Belgium, France, Sweden, Germany, v.v... |
| ... | ... |
Bài 1¶
Đề bài¶
Yêu cầu:
Tạo danh sách P gồm 100 hàng (ứng với 99 thứ hạng từ 0 đến 99).
Cách giải đề xuất¶
Viết chương trình
1. Trong chương trình chính:
- Dùng list comprehension khởi tạo danh sách
Pgồm100hàng. Mỗi hàng đều là một danh sách rỗng.
-
Biểu thứ
[[] for _ in range(100)]là một list comprehension giúp tạo ra100danh sách rỗng, có chỉ số từ0đến99.Mỗi danh sách rỗng là một hàng của
Pvà chưa có phần tử nào.
2. Chạy chương trình trên, kết quả như sau:
Bài 2¶
Đề bài¶
Yêu cầu:
Dùng hàm append() để thêm:
- United Arab Emirates vô nhóm hạng 1
- Estonia, Slovenia và Slovakia vô hạng 4
- Monaco vô nhóm hạng 10
Cách giải đề xuất¶
Viết chương trình
1. Trong chương trình chính:
- Đánh dấu
#để vô hiệu hoá dòng lệnhprint(P). - Viết các dòng lệnh
append()để thêm phần tử vô các hàng1,4và10.
Lưu ý:
Viết chương trình chính từ dòng 6 để chừa chỗ trống cho hàm ở những bài tiếp theo.
2. Chạy chương trình trên, kết quả như sau:
Bài 3¶
Đề bài¶
Yêu cầu:
Viết hàm in ra n thứ hạng đầu của bảng xếp hạng.
Cách giải đề xuất¶
Viết chương trình
1. Viết hàm head() dùng để in ra n hàng đầu tiên (tức n phần tử đầu tiên) của danh sách.
Hàm gồm có hai tham số đầu vào là danh sách L và n, và không có giá trị trả về.
Hàm hoạt động như sau:
-
Dùng vòng lặp
forcho biếnichạy từ1đếnn(Do cao nhất là hạng 1, không có hạng 0, nên hàng có chỉ số0được bỏ qua):In ra thứ hạng
ivà tên các nước trong hàngi.
2. Trong chương trình chính:
- Đặt dấu
#để vô hiệu hoá dòng lệnhprint(P). - Gọi hàm
head()với tham số làPvà10.
3. Chạy chương trình trên, kết quả như sau:
Bài 4¶
Đề bài¶
Yêu cầu:
Dùng hàm extend() để thêm:
- Singapore, Spain, United States of America vô nhóm hạng 2
- Belgium, France, Sweden, Japan vô nhóm hạng 3
- Benin, Madagascar, Tajikistan vô nhóm hạng 69
Cách giải đề xuất¶
Viết chương trình
1. Trong chương trình chính:
- Đánh dấu
#để vô hiệu hoá dòng lệnhhead(P, 10)cũ. - Viết lệnh
extends()để thêm các nước vô hàng2,3và69.
2. Chạy chương trình trên, kết quả như sau:
Bài 5¶
Đề bài¶
Yêu cầu:
Xoá United States of America khỏi nhóm hạng 2, rồi thêm vô nhóm hạng 9.
Cách giải đề xuất¶
Viết chương trình
1. Trong chương trình chính:
- Đánh dấu
#để vô hiệu hoá dòng lệnhhead(P, 10)cũ. - Dùng hàm
remove()để xoá khỏi hàng2. - Dùng hàm
append()để thêm vô hàng9.
2. Chạy chương trình trên, kết quả như sau:
Bài 6¶
Đề bài¶
Yêu cầu:
Thêm Viet Nam vô vị trí áp cuối của nhóm hạng 69.
Cách giải đề xuất¶
Viết chương trình
1. Trong chương trình chính:
- Dùng hàm
len()để lấy số phần tử hiện có trong hàng69, gán kết quả cho biếnn. - Dùng hàm
insert()để thêm vô vị trí áp cuối, làn - 1, của hàng69.
2. Chạy chương trình trên, kết quả như sau:
Mã nguồn¶
Code đầy đủ được đặt tại:
-
Dữ liệu lấy từ Passport Index năm 2025. ↩