Python - Các từ điển

Xin chào, các nhà lập trình mong muốn! Hôm nay, chúng ta sẽ bơi lội vào thế giới thú vị của các từ điển Python. Là người dạy khoa học máy tính hàng xóm bạn, tôi rất hứng thú để hướng dẫn bạn qua cuộc hành trình này. Vậy hãy lấy ly đường uống yêu thích của bạn, thư giãn và hãy cùng nhau bắt đầu cuộc phiêu lưu này!

Python - Dictionaries

Các từ điển trong Python

Tưởng tượng bạn đang tạo một sổ địa chỉ điện tử. Bạn muốn lưu thông tin về bạn bè của mình, như tên, số điện thoại và địa chỉ email của họ. Bạn sẽ làm thế nào? Đây là lúc các từ điển Python xuất hiện!

Một từ điển trong Python tương đương như một từ điển thực tế, nhưng thay vì các định nghĩa từ, nó lưu trữ các cặp khóa-giá trị. Nó là một tập hợp không có thứ tự, có thể thay đổi và không cho phép trùng lặp.

Các tính năng chính của Các từ điển

  1. Cặp khóa-giá trị: Mỗi mục trong từ điển bao gồm một khóa và giá trị tương ứng.
  2. Không có thứ tự: Khác với danh sách, các từ điển không có thứ tự cụ thể.
  3. Có thể thay đổi: Bạn có thể thêm, xóa hoặc thay đổi các mục sau khi từ điển đã được tạo.
  4. Không cho phép trùng lặp: Mỗi khóa phải là duy nhất trong một từ điển.

Tạo một từ điển

Hãy bắt đầu bằng cách tạo từ điển đầu tiên của chúng ta:

ban_be_cua_toi = {
"ten": "Alice",
"tuoi": 25,
"thanh_pho": "New York"
}

Trong ví dụ này, chúng ta đã tạo một từ điển có tên ban_be_cua_toi. Các khóa là "ten", "tuoi" và "thanh_pho", và giá trị tương ứng của chúng là "Alice", 25 và "New York".

Bạn cũng có thể tạo một từ điển trống và thêm các mục sau này:

tu_dien_trong = {}
tu_dien_khac = dict()  # Sử dụng khởi tạo dict()

Truy cập các mục trong từ điển

Để truy cập các mục trong từ điển, bạn sử dụng tên các khóa trong dấu ngoặc vuông:

print(ban_be_cua_toi["ten"])  # Output: Alice

Bạn cũng có thể sử dụng phương thức get(), điều này an toàn hơn vì nếu khóa không tồn tại, nó sẽ trả về None (thay vì gây ra lỗi):

print(ban_be_cua_toi.get("tuoi"))  # Output: 25
print(ban_be_cua_toi.get("cong_viec"))  # Output: None

Thay đổi các mục trong từ điển

Các từ điển là động, có nghĩa là chúng ta có thể thay đổi nội dung của chúng sau khi tạo:

# Thay đổi một giá trị
ban_be_cua_toi["tuoi"] = 26

# Thêm một cặp khóa-giá trị mới
ban_be_cua_toi["cong_viec"] = "Kỹ sư"

print(ban_be_cua_toi)
# Output: {'ten': 'Alice', 'tuoi': 26, 'thanh_pho': 'New York', 'cong_viec': 'Kỹ sư'}

Xóa các mục trong từ điển

Có một số cách để xóa các mục khỏi từ điển:

# Xóa một mục cụ thể
del ban_be_cua_toi["tuoi"]

# Xóa và trả về một mục
cong_viec = ban_be_cua_toi.pop("cong_viec")

# Xóa mục được chèn cuối cùng
muc_cuoi_cung = ban_be_cua_toi.popitem()

print(ban_be_cua_toi)  # Output: {'ten': 'Alice'}

Lặp qua từ điển

Bạn có thể lặp qua từ điển theo một số cách khác nhau:

# Lặp qua các khóa
for key in ban_be_cua_toi:
print(key)

# Lặp qua các giá trị
for value in ban_be_cua_toi.values():
print(value)

# Lặp qua cả khóa và giá trị
for key, value in ban_be_cua_toi.items():
print(f"{key}: {value}")

Các tính chất của các khóa trong từ điển

Các khóa trong từ điển có một số tính chất quan trọng:

  1. Các khóa phải không thể thay đổi (như chuỗi, số hoặc cặp).
  2. Các khóa phải là duy nhất trong từ điển.

Ví dụ:

tu_dien_hoat_dong = {
"string_key": "value1",
42: "value2",
(1, 2): "value3"
}

# Điều này sẽ gây ra lỗi:
# tu_dien_khong_hoat_dong = {[1, 2]: "value"}  # Danh sách không thể làm khóa

Các toán tử với từ điển Python

Python cung cấp một số toán tử hữu ích cho các từ điển:

# Kết hợp các từ điển (Python 3.5+)
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
gop = {**dict1, **dict2}
print(gop)  # Output: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

# Kiểm tra xem khóa có tồn tại hay không
if "ten" in ban_be_cua_toi:
print("Tên có trong từ điển")

Các phương thức của từ điển Python

Dưới đây là bảng các phương thức thường được sử dụng của từ điển:

Phương thức Mô tả
clear() Xóa tất cả các mục khỏi từ điển
copy() Trả về bản sao mềm của từ điển
fromkeys() Tạo từ điển mới với các khóa và giá trị được chỉ định
get() Trả về giá trị của khóa được chỉ định
items() Trả về danh sách các cặp (khóa, giá trị) của từ điển
keys() Trả về danh sách các khóa của từ điển
pop() Xóa và trả về phần tử có khóa được chỉ định
popitem() Xóa và trả về cặp khóa-giá trị được chèn cuối cùng
setdefault() Trả về giá trị của khóa được chỉ định. Nếu khóa không tồn tại: chèn khóa với giá trị được chỉ định
update() Cập nhật từ điển với các cặp khóa-giá trị được chỉ định
values() Trả về danh sách tất cả các giá trị trong từ điển

Các hàm dựng trong với các từ điển

Python cung cấp một số hàm dựng có thể làm việc tốt với các từ điển:

# Độ dài của từ điển
print(len(ban_be_cua_toi))

# Loại của từ điển
print(type(ban_be_cua_toi))

# Chuyển đổi các loại dữ liệu khác thành từ điển
list_of_tuples = [("a", 1), ("b", 2)]
dict_from_list = dict(list_of_tuples)
print(dict_from_list)  # Output: {'a': 1, 'b': 2}

Và đó là như vậy, các bạn! Chúng ta đã đi qua hành trình của các từ điển Python, từ việc tạo ra đến việc thao tác, lặp qua đến các hàm dựng. Hãy nhớ, luyện tập sẽ làm bạn hoàn hảo, vì vậy đừng sợ thử nghiệm các khái niệm này trong mã của bạn.

Khi kết thúc, hãy chia sẻ một chút trò đùa lập trình: Tại sao các nhà lập trình Python ưa thích sử dụng từ điển? Vì họ luôn biết nơi tìm lại chìa khóa của mình! ?

Hãy tiếp tục lập trình, giữ được sự tò mò và nhớ rằng: trong thế giới lập trình, mỗi lỗi chỉ là cơ hội học hỏi mới. Chờ đợi cuộc gặp gỡ tiếp theo, hạnh phúc với việc lập trình!

Credits: Image by storyset