{count, plural, one {Khóa học} other {Khóa học}}
Dictionary là một Cấu trúc Dữ liệu dựng sẵn của Python có thể thay đổi (mutable). Về tinh thần, nó giống với List, Set và Tuples. Tuy nhiên, nó không được lập chỉ mục bằng một dãy số mà được lập chỉ mục dựa trên các keys và có thể hiểu như các mảng kết hợp (associative arrays). Ở mức trừu tượng, nó gồm một key đi kèm với một value liên kết. Trong Python, Dictionary là cách hiện thực của một hash-table.
Keys là gì?
Như minh họa trong hình dưới đây, key là kiểu dữ liệu bất biến (immutable, không thể thay đổi) có thể là chuỗi hoặc số. Tuy nhiên, một key không thể là kiểu dữ liệu có thể thay đổi (mutable), ví dụ như list. Key là duy nhất trong một Dictionary và không thể bị trùng lặp. Nếu một key được dùng nhiều hơn một lần, các mục sau sẽ ghi đè giá trị trước đó.

Key kết nối với value, nhờ đó tạo thành cấu trúc dạng bản đồ (map). Ví dụ, nếu bỏ các key ra khỏi hình, bạn chỉ còn lại một cấu trúc dữ liệu chứa một dãy số. Do đó, Dictionary lưu trữ cặp key: value ở mỗi vị trí.
Một Dictionary được biểu diễn bằng cặp ngoặc nhọn {}, bên trong là các cặp key: value phân tách bởi dấu phẩy.
Tạo một Dictionary
Cú pháp
Ôn lại nhanh, đây là “công thức” để tạo một Dictionary:
my_dict = {
"key1":"value1",
"key2":"value2"
}
Trong cú pháp trên, cả key và value đều là chuỗi.
Ví dụ tạo Dictionary
pop = [30.55, 2.77, 39.21]
countries = ["afghanistan", "albania", "algeria"]
Hãy chuyển dữ liệu dân số thành một Dictionary. Để tạo Dictionary, bạn sẽ dùng ngoặc nhọn. Tiếp theo, bên trong ngoặc là một loạt cặp key:value. Ở đây, key là tên quốc gia và value là dân số tương ứng.
Key đầu tiên là Afghanistan, và giá trị tương ứng là 30.55. Lưu ý dấu hai chấm phân tách cặp key và value. Hãy làm tương tự cho hai cặp key:value còn lại và lưu kết quả vào biến world.
Bây giờ, để tìm dân số của Albania, chỉ cần gõ world, rồi đặt chuỗi Albania trong ngoặc vuông. Nói cách khác, bạn truyền key trong ngoặc vuông và nhận về giá trị tương ứng.
world = {"afghanistan":30.55, "albania":2.77, "algeria":39.21}
world["albania"]
2.77
Cách tiếp cận này không chỉ trực quan mà còn rất hiệu quả vì Python có thể tra cứu các key rất nhanh, ngay cả với những dictionary khổng lồ.
Ví dụ tương tác về tạo Dictionary
Trong ví dụ dưới đây, bạn sẽ dùng các chuỗi trong countries và capitals, tạo một Dictionary tên europe với 4 cặp key:value. Ở đây, countries sẽ là key và capitals sẽ là value. Hãy chú ý chữ hoa chữ thường! Đảm bảo dùng chữ thường ở mọi nơi. Cuối cùng, in ra europe để xem kết quả có đúng như mong đợi không.
# Definition of countries and capital
countries = ['spain', 'france', 'germany', 'norway']
capitals = ['madrid', 'paris', 'berlin', 'oslo']
# From string in countries and capitals, create dictionary europe
europe = {'spain':'madrid', 'france':'paris', 'germany':'berlin', 'norway':'oslo'}
# Print europe
print(europe)
Khi bạn chạy đoạn mã trên, nó sẽ sinh ra kết quả sau:
{'norway': 'oslo', 'germany': 'berlin', 'france': 'paris', 'spain': 'madrid'}
Để tìm hiểu thêm về dictionary trong Python, vui lòng xem video từ khóa học Intermediate Python của chúng tôi.
Nội dung này được trích từ khóa học Intermediate Python của DataCamp do Hugo Bowne-Anderson biên soạn.