Dictionary là một cấu trúc dữ liệu quan trọng trong Python, cho phép lưu trữ và truy xuất dữ liệu dưới dạng cặp key-value một cách hiệu quả. Việc thành thạo dictionary giúp lập trình viên thao tác với dữ liệu nhanh chóng, tối ưu bộ nhớ và dễ dàng xử lý các bài toán thực tế. Trong bài viết này, mình sẽ giới thiệu một số dạng bài tập về dictionary trong Python, giúp người mới làm quen và rèn luyện kỹ năng lập trình.
Những điểm chính
- Bài tập dictionary trong Python: Nắm được các dạng bài tập phổ biến về dictionary bao gồm: Tạo một dictionary mới, chuyển đổi dictionary thành danh sách, xóa các key có cùng giá trị. Từ đó, bạn có thể vận dụng hiệu quả vào các bài toán thực tế.
- Biết thêm Vietnix – Nhà cung cấp dịch vụ hosting chất lượng cao.
Bài tập 1: Tạo một dictionary mới
Trong Python, bạn có thể tạo một dictionary mới bằng cách trích xuất các key từ một dictionary có sẵn. Việc này hữu ích khi bạn chỉ muốn giữ lại một phần dữ liệu quan trọng mà không cần thao tác trực tiếp trên dictionary gốc.

Dưới đây là một ví dụ minh họa cách tạo dictionary mới từ một tập hợp key có sẵn. Giả sử, mình có một danh sách mã sản phẩm và số lượng tương ứng, bạn cần tạo một dictionary chỉ chứa các sản phẩm quan trọng cần theo dõi:
# Dictionary chứa danh sách mã sản phẩm và số lượng hiện tại
san_pham = {
"vps_1": 100,
"vps_2": 50,
"hosting_1": 75,
"hosting_2": 30,
"firewall_1": 20
}
# Danh sách các sản phẩm cần theo dõi
san_pham_quan_trong = ["vps_2", "firewall_1"]
# Tạo dictionary mới chỉ chứa các sản phẩm quan trọng
san_pham_moi = {k: san_pham[k] for k in san_pham_quan_trong}
print(san_pham_moi)
- Kết quả như sau:
{‘vps_2’: 50, ‘firewall_1’: 20}
Giải thích:
san_pham
là dictionary gốc chứa danh sách mã sản phẩm và số lượng tồn kho.san_pham_quan_trong
là danh sách các key (mã sản phẩm) cần trích xuất.- Dictionary mới
san_pham_moi
được tạo bằng cách duyệt qua danh sách key và lấy giá trị tương ứng từsan_pham
.
Bài tập 2: Chuyển đổi dictionary thành danh sách
Đôi khi, bạn cần chuyển đổi dictionary thành danh sách để dễ dàng thao tác, sắp xếp hoặc xử lý dữ liệu theo từng phần tử. Một cách đơn giản để thực hiện điều này là sử dụng phương thức .items()
, phương thức này trả về một đối tượng dạng view chứa các cặp key-value dưới dạng tuple. Khi kết hợp với list()
, bạn có thể dễ dàng chuyển đổi dictionary thành danh sách.
Giả sử, bạn đang xây dựng một hệ thống quản lý khách hàng cho Vietnix, trong đó lưu trữ danh sách khách hàng kèm theo số lượng dịch vụ họ đã đăng ký. Bạn có thể chuyển đổi dữ liệu từ dictionary sang danh sách để dễ dàng xử lý:
# Dictionary chứa thông tin khách hàng và số lượng dịch vụ đã đăng ký
khach_hang = {
"NguyenVanA": 3,
"TranThiB": 5,
"LeVanC": 2,
"PhamMinhD": 4
}
# Chuyển đổi dictionary thành danh sách các tuple
danh_sach = list(khach_hang.items())
# In kết quả
print(danh_sach)
- Kết quả như sau:
[(‘NguyenVanA’, 3), (‘TranThiB’, 5), (‘LeVanC’, 2), (‘PhamMinhD’, 4)]
Với danh sách này, bạn có thể dễ dàng duyệt qua từng khách hàng và thực hiện các thao tác như lọc danh sách, sắp xếp theo số lượng dịch vụ đã đăng ký hoặc xuất dữ liệu ra file để xử lý sau này.
Bài tập 3: Xóa các key có cùng giá trị
Trong một số trường hợp, dictionary có thể chứa nhiều key khác nhau nhưng lại có cùng giá trị. Trường hợp này có thể gây khó khăn khi xử lý dữ liệu hoặc làm tăng kích thước dictionary không cần thiết. Vì vậy, việc lọc bỏ các key có giá trị trùng lặp sẽ giúp tối ưu hóa cấu trúc dữ liệu.
Giả sử, bạn có một danh sách các gói dịch vụ được lưu dưới dạng dictionary, nhưng một số gói có mô tả trùng nhau. Bạn cần lọc bỏ các gói có mô tả bị lặp lại, chỉ giữ lại những gói có thông tin duy nhất, cách thực hiện như sau:
# Dictionary chứa thông tin dịch vụ
dich_vu = {
"A": "Bảo mật cao",
"B": "Hiệu suất tối ưu",
"C": "Tích hợp cPanel",
"D": "Bảo mật cao",
"E": "Hỗ trợ 24/7",
"F": "Hiệu suất tối ưu"
}
# Lấy danh sách tất cả các giá trị
gia_tri = list(dich_vu.values())
# Tìm các giá trị xuất hiện duy nhất
gia_tri_doc_nhat = [v for v in gia_tri if gia_tri.count(v) == 1]
# Tạo dictionary mới chỉ chứa các giá trị duy nhất
dich_vu_loc = {k: v for k, v in dich_vu.items() if v in gia_tri_doc_nhat}
print("Dictionary sau khi lọc:", dich_vu_loc)
- Kết quả như sau:
Dictionary sau khi lọc: {‘C’: ‘Tích hợp cPanel’, ‘E’: ‘Hỗ trợ 24/7’}
Trong kết quả trên, chỉ những gói dịch vụ có mô tả không bị trùng lặp mới được giữ lại, giúp dictionary gọn gàng và dễ quản lý hơn.
Vietnix – Nhà cung cấp dịch vụ hosting chất lượng cao
Vietnix tự hào là đơn vị cung cấp dịch vụ hosting uy tín, đáp ứng nhu cầu từ cá nhân đến doanh nghiệp với hạ tầng mạnh mẽ, đảm bảo tốc độ truy cập nhanh và ổn định. Hệ thống máy chủ hiện đại, kết hợp cùng công nghệ tiên tiến giúp website vận hành mượt mà, giảm thiểu downtime.
Khách hàng có thể lựa chọn nhiều web hosting phù hợp với nhu cầu, từ Hosting Giá Rẻ, NVMe Hosting, Business Hosting, WordPress Hosting, SEO Hosting đến MaxSpeed Hosting, tất cả đều được tối ưu hiệu suất và bảo mật. Với cam kết mang đến dịch vụ chất lượng cao, hỗ trợ tận tâm 24/7 và chi phí hợp lý. Liên hệ ngay!
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Câu hỏi thường gặp
Làm sao để tối ưu hóa bộ nhớ khi làm việc với dictionary chứa dữ liệu lớn?
Cách tối ưu bộ nhớ khi làm việc với dictionary lớn:
– Dùng generator để tạo dữ liệu động, tránh lưu toàn bộ vào RAM.
– Sử dụng defaultdict để giảm kiểm tra key tồn tại, tối ưu hiệu suất.
– Giải phóng bộ nhớ sau khi sử dụng bằng del và gc.collect().
– Dùng __slots__ trong class để hạn chế việc tạo dictionary thuộc tính.
– Kiểm tra kích thước dictionary với sys.getsizeof() để đánh giá mức độ tiêu tốn bộ nhớ.
– Chuyển sang pandas hoặc numpy nếu cần xử lý dữ liệu lớn hiệu quả hơn.
Cách sử dụng defaultdict để tự động khởi tạo giá trị mặc định cho dictionary mà không cần kiểm tra key tồn tại hay chưa?
Trong Python, defaultdict thuộc module collections, giúp tự động khởi tạo giá trị mặc định cho key mới mà không cần kiểm tra key tồn tại hay chưa. Điều này giúp code gọn gàng và hiệu suất cao hơn so với dictionary thông thường:
– Sử dụng defaultdict(int) để đếm số lần xuất hiện.
– Sử dụng defaultdict(list) để gom nhóm dữ liệu.
– Sử dụng defaultdict(set) để tạo tập hợp giá trị không trùng lặp.
– Sử dụng defaultdict(lambda: giá trị mặc định) để tùy chỉnh.
Lời kết
Dictionary là một trong những cấu trúc dữ liệu quan trọng trong Python, giúp bạn xử lý dữ liệu dưới dạng cặp key-value một cách hiệu quả. Hy vọng qua các bài tập dictionary trong Python trên, bạn đã nắm được cách tạo, chuyển đổi và xử lý dictionary, từ đó áp dụng vào thực tế một cách linh hoạt hơn. Nếu bạn đang phát triển một ứng dụng thực tế và cần một hệ thống lưu trữ dữ liệu mạnh mẽ, đừng quên lựa chọn dịch vụ hosting chất lượng từ Vietnix để đảm bảo hiệu suất và độ ổn định cao nhất. Cảm ơn bạn đã theo dõi bài viết!
Mọi người cũng xem: