
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
VIỆN CÔNG NGHỆ THÔNG TIN
---🖎🕮✍---
BÁO CÁO
CHỦ ĐỀ 2
TRÌNH BÀY CÁC KIỂU DỮ LIỆU DICTIONARIES, TUPLES VÀ
CÁCH SỬ DỤNG DICTIONARIES, TUPLES TRONG PYTHON.
Giảng viên hướng dẫn: Trần Tuấn Vinh
Nhóm thực hiện: Nhóm 8
Sinh viên:
Phú Thọ, năm 2026
Đoàn Hạnh Diên : 247140210021
Nguyễn Ngọc Phương
Linh
: 247140210059
Nguyễn Thu Ngà : 247140210074
Vũ Anh Thư : 247140210096
Phạm Anh Tú : 247140210104

LỜI CẢM ƠN
Trong quá trình học tập và thực hiện bài tập lớn môn Lập trình Python, nhóm
chúng em đã nhận được sự giảng dạy tận tình và sự hướng dẫn chi tiết của thầy Trần
Tuấn Vinh.
Là những sinh viên năm 2 đang trong quá trình rèn luyện tư duy logic và làm
quen với các kỹ thuật quản lý dữ liệu, những kiến thức thầy truyền đạt đã giúp chúng
em xây dựng nền tảng cần thiết để hoàn thành bài báo cáo này. Mặc dù nhóm đã cố
gắng hoàn thiện tốt nhất, nhưng không tránh khỏi những thiếu sót. Nhóm chúng em
rất mong nhận được những ý kiến đóng góp từ thầy để rút kinh nghiệm. Nhóm chúng
em xin chân thành cảm ơn!

MỤC LỤC
I. Cấu trúc dữ liệu Dictionary trong Python.....................................................1
1. Khái niệm và đặc điểm cốt lõi.................................................................1
2. Các thao tác cơ bản và Nâng cao.............................................................1
3. Ứng dụng thực tế......................................................................................2
II. Cấu trúc dữ liệu Tuple trong Python...........................................................2
1. Khái niệm và đặc điểm cốt lõi.................................................................2
2. Các thao tác và kỹ thuật...........................................................................2
3. Ứng dụng thực tế......................................................................................3
III. Phân tích và Đánh giá hiệu năng................................................................3
1. Cấu trúc Dictionary (Bảng băm - Hash Table)........................................3
2. Cấu trúc Tuple (Mảng tĩnh).....................................................................4
IV. Mô tả thuật toán.........................................................................................4
1. Hàm tính và in điểm tổng kết...................................................................4
2. Hàm thêm sinh viên mới..........................................................................5
3. Hàm tìm kiếm sinh viên...........................................................................7
4. Hàm điều khiển luồng chính....................................................................8
V. TÀI LIỆU THAM KHẢO...........................................................................8

1
I. Cấu trúc dữ liệu Dictionary trong Python
1. Khái niệm và đặc điểm cốt lõi
- Là tập hợp các cặp khóa - giá trị (key - value) dùng để lưu trữ dữ liệu.
- Tính có thứ tự (Cập nhật quan trọng): Từ phiên bản Python 3.7 trở đi,
Dictionary đã chính thức duy trì thứ tự chèn (insertion order). Tức là thứ tự bạn
thêm các cặp key-value vào cũng chính là thứ tự khi bạn duyệt qua chúng.
- Truy cập bằng Key: Mỗi phần tử gồm 2 thành phần là key và value. Cấu
trúc này không truy cập bằng vị trí (index) mà bắt buộc phải thông qua Key tương
ứng.
- Đặc tính của Key: Key phải là kiểu dữ liệu bất biến (immutable) như int,
float, str, hoặc tuple.
- Tính linh hoạt (Mutable): Cho phép lập trình viên thêm, sửa, xóa phần tử
một cách linh hoạt sau khi khởi tạo.
2. Các thao tác cơ bản và Nâng cao
- Khởi tạo: Có thể dùng cặp dấu ngoặc {} hoặc gọi hàm dict().
- Truy cập phần tử an toàn: Dù có thể dùng ngoặc vuông [], nhưng trong thực
tế lập trình, hàm get() được ưu tiên hơn vì nó giúp tránh lỗi KeyError làm sập chương
trình nếu key không tồn tại.
- Thêm/Cập nhật phần tử: Có thể gán giá trị trực tiếp cho một key mới, hoặc
dùng hàm update() để gộp/cập nhật nhiều dữ liệu cùng lúc.

2
- Xóa phần tử: Sử dụng lệnh del (xóa theo key), hàm pop() (xóa và trả về giá
trị đó), hoặc clear() để làm rỗng toàn bộ danh sách.
- Duyệt qua Dictionary: Phương thức items() là công cụ mạnh mẽ nhất để lấy
ra cả key và value trong mỗi vòng lặp.
3. Ứng dụng thực tế
- Quản lý thông tin các đối tượng phức tạp như sinh viên, nhân viên, sản
phẩm.
- Lưu trữ và trao đổi dữ liệu qua API dưới định dạng JSON.
- Lưu trữ các thông số cấu hình (config) của hệ thống phần mềm.
II. Cấu trúc dữ liệu Tuple trong Python
1. Khái niệm và đặc điểm cốt lõi
- Là một chuỗi các phần tử có thứ tự, có nét tương đồng với List nhưng mang
tính chất bất biến (immutable).
- Có thứ tự (Ordered): Các phần tử được sắp xếp theo một thứ tự xác định từ
lúc khởi tạo và không bị xáo trộn.
- Tính bất biến (Immutable): Giúp đảm bảo dữ liệu không bị thay đổi ngoài ý
muốn.
+ Lưu ý (Cạm bẫy bất biến): Tính bất biến chỉ áp dụng cho chính bản thân
Tuple. Nếu Tuple chứa một cấu trúc có thể thay đổi (như List), ta vẫn có thể can
thiệp vào List đó. (Ví dụ: t = (1, [2, 3]) -> Lệnh t[1].append(4) là hoàn toàn hợp lệ).
- Truy cập: Sử dụng chỉ số (index) để lấy dữ liệu. Cấu trúc này cho phép
chứa các phần tử trùng lặp nhau.
2. Các thao tác và kỹ thuật

