3 cách đơn giản để hợp nhất từ điển Python
Tìm hiểu cách hợp nhất các từ điển Python một cách hiệu quả bằng cách sử dụng các phương thức tích hợp, giải nén và toán tử hợp.
Khi làm việc với từ điển trong Python, đôi khi bạn sẽ phải hợp nhất chúng thành một từ điển duy nhất để xử lý thêm.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu ba phương pháp phổ biến để hợp nhất các từ điển Python. Cụ thể, chúng tôi sẽ tập trung vào việc hợp nhất các từ điển bằng cách sử dụng:
- Phương thức
update()
- Giải nén từ điển
- Người điều hành công đoàn
Hãy bắt đầu.
Lưu ý: Bạn có thể tìm thấy các ví dụ về mã trên GitHub.
1. Sử dụng phương thức update()
Để hợp nhất hai từ điển, bạn có thể sử dụng phương thức từ điển update()
. Bạn có thể sử dụng phương thức update()
để cập nhật một từ điển hiện có với các cặp khóa-giá trị từ một từ điển khác như sau:
dict1.update(dict2)
Đây :
dict1
: Từ điển gốc cần được cập nhật.dict2
: Từ điển có cặp khóa-giá trị sẽ được thêm vàodict1
.
Lưu ý: Phương pháp này trực tiếp sửa đổi từ điển gốc. Nếu không muốn điều đó, bạn có thể tạo một bản sao của từ điển gốc và cập nhật bản sao.
Giả sử chúng ta có hai từ điển cấu hình, config1
và config2
chứa thông tin cấu hình để kết nối với cơ sở dữ liệu:
config1 = {
'database': 'Postgres',
'host': 'localhost',
'port': 5432
}
config2 = {
'username': 'admin',
'password': 'secret',
'timeout': 30
}
Bây giờ hãy hợp nhất một bản sao của config1
với config2
:
# Merge using update() method
final_config = config1.copy() # Create a copy to avoid modifying the original config1
final_config.update(config2)
print(final_config)
Như đã thấy, phương thức update()
thêm tất cả các cặp khóa-giá trị từ config2
vào final_config
, tạo ra một từ điển kết hợp với tất cả thông tin cấu hình .
Output >>>
{
'database': 'Postgres',
'host': 'localhost',
'port': 5432,
'username': 'admin',
'password': 'secret',
'timeout': 30
}
2. Sử dụng giải nén từ điển: {**dict1, **dict2}
Giống như cách bạn giải nén các bộ dữ liệu, bạn cũng có thể giải nén các từ điển bằng cách sử dụng **. Làm như vậy sẽ tạo ra một từ điển mới bằng cách giải nén các cặp khóa-giá trị từ cả hai từ điển.
Giả sử bạn có từ điển dict1
và dict2
. Bạn có thể giải nén các cặp khóa-giá trị và hợp nhất chúng vào một từ điển mới như sau:
merged_dict = {**dict1, **dict2}
Hãy hợp nhất các từ điển cấu hình như được hiển thị:
config1 = {
'database': 'Postgres',
'host': 'localhost',
'port': 5432
}
config2 = {
'username': 'admin',
'password': 'secret',
'timeout': 30
}
# Merge using dictionary unpacking
final_config = {**config1, **config2}
print(final_config)
Phương thức giải nén từ điển {**config1, **config2
tạo một từ điển mới final_config
chứa tất cả các cặp khóa-giá trị từ cả hai config1
và config2
.
Output >>>
{
'database': 'Postgres',
'host': 'localhost',
'port': 5432,
'username': 'admin',
'password': 'secret',
'timeout': 30
}
3. Sử dụng Liên minh | Toán tử
Toán tử hợp, được giới thiệu trong Python 3.9, là một cách ngắn gọn khác để hợp nhất hai từ điển.
Bạn có thể sử dụng toán tử công đoàn như vậy:
merged_dict = dict1 | dict2
Sử dụng dict1 | dict2
hợp nhất dict1
và dict2
vào một từ điển mới.
config1 = {
'database': 'Postgres',
'host': 'localhost',
'port': 5432
}
config2 = {
'username': 'admin',
'password': 'secret',
'timeout': 30
}
# Merge using | operator
final_config = config1 | config2
print(final_config)
Toán tử | hợp nhất config1
và config2
vào một từ điển mới final_config
:
Output >>>
{
'database': 'Postgres',
'host': 'localhost',
'port': 5432,
'username': 'admin',
'password': 'secret',
'timeout': 30
}
Kết thúc
Hãy xem xét các phương pháp khác nhau để hợp nhất từ điển Python:
- Phương thức
update()
—dict1.update(dict2)
—cập nhật một từ điển hiện có. {**dict1, **dict2
tạo một từ điển hợp nhất mới bằng cách giải nén.- Công đoàn | toán tử trong Python 3.9+ hợp nhất các từ điển với cú pháp đơn giản
dict1 | dict2
.
Đây không phải là danh sách đầy đủ bao gồm tất cả các phương pháp hợp nhất từ điển. Có các phương pháp khác như hiểu danh sách, tạo chế độ xem hợp nhất của từ điển bằng cách sử dụng bộ sưu tập.ChainMap, v.v. Tuy nhiên, đây là những phương pháp phổ biến nhất để hợp nhất các từ điển.
Chúc mừng mã hóa!
Bala Priya C là nhà phát triển và nhà văn kỹ thuật đến từ Ấn Độ. Cô ấy thích làm việc ở lĩnh vực giao thoa giữa toán học, lập trình, khoa học dữ liệu và sáng tạo nội dung. Các lĩnh vực chuyên môn và quan tâm của cô bao gồm DevOps, khoa học dữ liệu và xử lý ngôn ngữ tự nhiên. Cô ấy thích đọc, viết, viết mã và cà phê! Hiện tại, cô ấy đang nỗ lực học hỏi và chia sẻ kiến thức của mình với cộng đồng nhà phát triển bằng cách viết các hướng dẫn, hướng dẫn cách thực hiện, các ý kiến, v.v. Bala cũng tạo ra các hướng dẫn viết mã và tổng quan tài nguyên hấp dẫn.