Khóa học python

Thêm phần tử vào Dictionary trong Python

0 phút đọc

Dictionary là một trong những kiểu dữ liệu tích hợp sẵn trong Python, được sử dụng để lưu trữ dữ liệu dưới dạng các cặp key-value. Mỗi key trong dictionary là duy nhất và được sử dụng để truy cập giá trị tương ứng. Dictionary rất hữu ích khi bạn cần lưu trữ và truy xuất dữ liệu một cách nhanh chóng và hiệu quả. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về cách thêm phần tử vào dictionary trong Python, bao gồm các phương pháp khác nhau và các ví dụ minh họa.

Sử dụng Toán tử Gán (Assignment Operator)

Phương pháp đơn giản nhất để thêm một phần tử vào dictionary là sử dụng toán tử gán (=). Nếu key đã tồn tại trong dictionary, giá trị của key đó sẽ được cập nhật. Nếu key không tồn tại, một cặp key-value mới sẽ được thêm vào dictionary.

Cú pháp

dictionary[key] = value

Ví dụ

# Tạo một dictionary
car = {
    "brand": "Ford",
    "model": "Mustang",
    "year": 1964
}

# Thêm một phần tử mới vào dictionary
car["color"] = "red"

# In dictionary sau khi thêm phần tử
print(car)

Kết quả:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red'}

Trong ví dụ trên, phần tử mới với key là "color" và value là "red" được thêm vào dictionary car.

Sử dụng Phương thức update()

Phương thức update() được sử dụng để thêm nhiều phần tử vào dictionary cùng một lúc. Phương thức này có thể nhận một dictionary khác hoặc một iterable chứa các cặp key-value.

Cú pháp

dictionary.update(other)
  • other: Một dictionary hoặc một iterable chứa các cặp key-value.

Ví dụ

# Tạo một dictionary
car = {
    "brand": "Ford",
    "model": "Mustang",
    "year": 1964
}

# Sử dụng phương thức update() để thêm nhiều phần tử
car.update({"color": "red", "owner": "John"})

# In dictionary sau khi thêm phần tử
print(car)

Kết quả:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red', 'owner': 'John'}

Trong ví dụ trên, các phần tử mới với key là "color""owner" được thêm vào dictionary car bằng cách sử dụng phương thức update().

Sử dụng Toán tử ||=

Toán tử ||= được giới thiệu trong Python 3.9 để hợp nhất hai dictionary. Toán tử | tạo ra một dictionary mới chứa các phần tử từ cả hai dictionary, trong khi toán tử |= cập nhật dictionary hiện tại với các phần tử từ dictionary khác.

Cú pháp

new_dict = dict1 | dict2
dict1 |= dict2

Ví dụ

# Tạo hai dictionary
car = {
    "brand": "Ford",
    "model": "Mustang",
    "year": 1964
}

additional_info = {
    "color": "red",
    "owner": "John"
}

# Sử dụng toán tử | để tạo dictionary mới
new_car = car | additional_info
print("New dictionary:", new_car)

# Sử dụng toán tử |= để cập nhật dictionary hiện tại
car |= additional_info
print("Updated dictionary:", car)

Kết quả:

New dictionary: {'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red', 'owner': 'John'}
Updated dictionary: {'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red', 'owner': 'John'}

Trong ví dụ trên, toán tử | được sử dụng để tạo ra một dictionary mới new_car, trong khi toán tử |= được sử dụng để cập nhật dictionary car hiện tại.

Sử dụng Phương thức setdefault()

Phương thức setdefault() được sử dụng để thêm một phần tử vào dictionary nếu key không tồn tại. Nếu key đã tồn tại, phương thức này sẽ trả về giá trị hiện tại của key đó.

Cú pháp

dictionary.setdefault(key, default_value)
  • key: Key cần thêm vào dictionary.
  • default_value: Giá trị mặc định được gán cho key nếu key không tồn tại.

Ví dụ

# Tạo một dictionary
car = {
    "brand": "Ford",
    "model": "Mustang",
    "year": 1964
}

# Sử dụng phương thức setdefault() để thêm phần tử mới
car.setdefault("color", "red")
car.setdefault("model", "Fiesta")

# In dictionary sau khi thêm phần tử
print(car)

Kết quả:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red'}

Trong ví dụ trên, phần tử mới với key là "color" và value là "red" được thêm vào dictionary car vì key "color" không tồn tại. Key "model" đã tồn tại nên giá trị của nó không thay đổi.

Sử dụng Dictionary Comprehension

Dictionary comprehension là một cách ngắn gọn và hiệu quả để tạo và cập nhật dictionary. Bạn có thể sử dụng dictionary comprehension để thêm các phần tử vào dictionary dựa trên các điều kiện cụ thể.

Cú pháp

{key: value for key, value in iterable}

Ví dụ

# Tạo một danh sách các cặp key-value
items = [("color", "red"), ("owner", "John")]

# Sử dụng dictionary comprehension để thêm các phần tử vào dictionary
car = {
    "brand": "Ford",
    "model": "Mustang",
    "year": 1964
}

car.update({k: v for k, v in items})

# In dictionary sau khi thêm phần tử
print(car)

Kết quả:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red', 'owner': 'John'}

Trong ví dụ trên, dictionary comprehension được sử dụng để thêm các phần tử từ danh sách items vào dictionary car.

Sử dụng **kwargs trong Hàm

Bạn có thể sử dụng **kwargs trong hàm để thêm các phần tử vào dictionary. **kwargs cho phép bạn truyền các cặp key-value dưới dạng các tham số từ khóa.

Cú pháp

def add_items_to_dict(dictionary, **kwargs):
    dictionary.update(kwargs)

Ví dụ

# Định nghĩa hàm sử dụng **kwargs
def add_items_to_dict(dictionary, **kwargs):
    dictionary.update(kwargs)

# Tạo một dictionary
car = {
    "brand": "Ford",
    "model": "Mustang",
    "year": 1964
}

# Sử dụng hàm để thêm các phần tử vào dictionary
add_items_to_dict(car, color="red", owner="John")

# In dictionary sau khi thêm phần tử
print(car)

Kết quả:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red', 'owner': 'John'}

Trong ví dụ trên, hàm add_items_to_dict sử dụng **kwargs để thêm các phần tử vào dictionary car.

Sử dụng Phương thức fromkeys()

Phương thức fromkeys() được sử dụng để tạo một dictionary mới với các key từ một iterable và giá trị mặc định cho tất cả các key.

Cú pháp

dict.fromkeys(iterable, value)
  • iterable: Một iterable chứa các key.
  • value: Giá trị mặc định cho tất cả các key.

Ví dụ

# Sử dụng phương thức fromkeys() để tạo một dictionary mới
keys = ["color", "owner"]
default_value = "unknown"

new_dict = dict.fromkeys(keys, default_value)

# In dictionary mới
print(new_dict)

Kết quả:

{'color': 'unknown', 'owner': 'unknown'}

Trong ví dụ trên, phương thức fromkeys() được sử dụng để tạo một dictionary mới với các key từ danh sách keys và giá trị mặc định là "unknown".

Sử dụng Vòng lặp for

Bạn có thể sử dụng vòng lặp for để thêm các phần tử vào dictionary. Điều này rất hữu ích khi bạn cần thêm các phần tử từ một iterable hoặc một danh sách các cặp key-value.

Cú pháp

for key, value in iterable:
    dictionary[key] = value

Ví dụ

# Tạo một danh sách các cặp key-value
items = [("color", "red"), ("owner", "John")]

# Tạo một dictionary
car = {
    "brand": "Ford",
    "model": "Mustang",
    "year": 1964
}

# Sử dụng vòng lặp for để thêm các phần tử vào dictionary
for key, value in items:
    car[key] = value

# In dictionary sau khi thêm phần tử
print(car)

Kết quả:

{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'red', 'owner': 'John'}

Trong ví dụ trên, vòng lặp for được sử dụng để thêm các phần tử từ danh sách items vào dictionary car.

Kết luận

Trong Python, có nhiều cách để thêm phần tử vào dictionary, mỗi cách có ưu điểm và nhược điểm riêng. Phương pháp sử dụng toán tử gán (=) và phương thức update() rất hữu ích khi bạn cần thêm một hoặc nhiều phần tử vào dictionary. Toán tử ||= cung cấp các cách ngắn gọn và tiện lợi để hợp nhất các dictionary. Phương thức setdefault() và dictionary comprehension cung cấp các cách tiếp cận linh hoạt và mạnh mẽ hơn để xử lý các dictionary phức tạp. Sử dụng **kwargs trong hàm và phương thức fromkeys() cung cấp các cách tiếp cận khác nhau để tạo và cập nhật dictionary. Cuối cùng, vòng lặp for cung cấp một cách tiếp cận truyền thống nhưng hiệu quả để thêm các phần tử vào dictionary.

Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách thêm phần tử vào dictionary trong Python và cách sử dụng các phương pháp khác nhau để đạt được mục tiêu của bạn.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

entry

Các thành phần trong Docker bao gồm những thành phần nào?

entry

What are the two types of Exceptions in Java? Which are the differences between them?

entry

Liệt kê các kiểu dữ liệu trong Python?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào

Khoá học javascript từ cơ bản đến chuyên sâuYoutube Techmely