Chúng ta có thể thêm 2 từ điển trong Python không?

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để hợp nhất từ ​​điển. Bạn sẽ học cách kết hợp các từ điển bằng các toán tử khác nhau, cũng như cách làm việc với các từ điển chứa các khóa giống nhau. Bạn cũng sẽ học cách nối các giá trị danh sách khi hợp nhất từ ​​điển

Từ điển Python là cấu trúc dữ liệu cực kỳ quan trọng để học. Chúng thường được sử dụng để truy xuất dữ liệu nhanh chóng. Từ điển Python chia sẻ nhiều thuộc tính với định dạng JSON, thường dùng trong lưu trữ dữ liệu web. Khi truy vấn các API web, bạn có thể gặp dữ liệu ở định dạng JSON. Do tầm quan trọng của việc truy xuất dữ liệu web, khả năng kết hợp từ điển trong Python là một kỹ năng quan trọng cần hiểu

Từ điển Python sử dụng ánh xạ

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
1 để lưu trữ dữ liệu. Khóa phải là duy nhất và phải là đối tượng bất biến (chẳng hạn như chuỗi hoặc bộ dữ liệu). Do đó, điều quan trọng là phải hiểu đúng điều gì sẽ xảy ra khi bạn hợp nhất các khóa có chung khóa

Câu trả lời nhanh. Sử dụng Giải nén hoặc

Chúng ta có thể thêm 2 từ điển trong Python không?
Chúng ta có thể thêm 2 từ điển trong Python không?

Mục lục

  • Hợp nhất từ ​​điển trong Python 3. 9+
  • Hợp nhất từ ​​điển Python với giải nén mục
  • Hợp nhất từ ​​điển Python với phương thức cập nhật
  • Hợp nhất từ ​​điển Python với các khóa dùng chung
  • Hợp nhất các từ điển Python bằng cách nối thêm các giá trị
  • Hợp nhất từ ​​điển Python với vòng lặp For
  • Hợp nhất từ ​​điển Python với khả năng hiểu từ điển
  • Sự kết luận

Hợp nhất từ ​​điển trong Python 3. 9+

Python đã giới thiệu một cách mới để hợp nhất từ ​​điển trong Python 3. 9, bằng cách sử dụng toán tử hợp nhất

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
2. Hợp nhất hai từ điển với toán tử hợp nhất có thể là cách nhanh nhất và rõ ràng nhất để hợp nhất hai từ điển

Hãy xem nó trông như thế nào trong Python

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict3 = dict1 | dict2

print(dict3)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

Chúng ta có thể thấy ở đây hai từ điển đã được hợp nhất thành công

Giống như nhiều toán tử khác trong Python, bạn thậm chí có thể sử dụng tổ hợp toán tử

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
3 để từ điển thứ hai hợp nhất với từ điển thứ nhất mà không cần gán lại nó

Hãy xem nó trông như thế nào

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

Chúng ta có thể thấy rằng điều này trả về kết quả tương tự như trên

Bây giờ chúng ta hãy xem một ví dụ về điều gì sẽ xảy ra khi hai từ điển có khóa chung

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'a': 4}

dict3 = dict1 | dict2

print(dict3)

# Returns: {'a': 4, 'b': 2, 'c': 3}

Chúng ta có thể thấy rằng Python sẽ ghi đè từ điển bên trái bằng giá trị của các khóa của từ điển bên phải, nếu tồn tại sự trùng lặp. Giữ nó trong tâm trí. Nếu bạn muốn giữ các giá trị của từ điển đầu tiên, chỉ cần đảo ngược thứ tự cập nhật từ điển

Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng tính năng giải nén mục để hợp nhất từ ​​điển trong Python

Bạn muốn tìm hiểu cách in đẹp tệp JSON bằng Python?

Hợp nhất từ ​​điển Python với giải nén mục

Bạn cũng có thể sử dụng tính năng giải nén mục để hợp nhất các từ điển Python. Quá trình này liên quan đến việc thêm mọi mục từ nhiều từ điển vào một từ điển mới

Các mục trong Python có thể được giải nén bằng cách sử dụng ký tự

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
4 hoặc
# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
5. Đối với từ điển, để truy cập cả khóa và giá trị, bạn cần sử dụng ký tự
# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
5

Hãy xem cách chúng ta có thể sử dụng điều này để hợp nhất hai từ điển trong Python

# Merge two Python dictionaries using item unpacking
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict3 = {**dict1, **dict2}

print(dict3)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

Chúng ta có thể thấy rằng điều này hợp nhất thành công cả hai từ điển. Nếu bạn có nhiều hơn hai từ điển, bạn chỉ cần tiếp tục thêm từ điển này đến từ điển khác, cách nhau bằng dấu phẩy

Tuy nhiên, điều gì sẽ xảy ra nếu từ điển của bạn dùng chung khóa?

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
0

Chúng ta có thể thấy rằng, tương tự như phương thức toán tử hợp nhất được mô tả ở trên, thư viện bên phải sẽ ghi đè lên các giá trị của các khóa được chia sẻ của thư viện bên trái

Trong phần tiếp theo, bạn sẽ học cách sử dụng phương thức

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
7 để hợp nhất từ ​​điển trong Python

Cần tự động đổi tên tập tin? . Hơn cả một người học trực quan, toàn bộ hướng dẫn cũng có sẵn dưới dạng video trong bài đăng

Hợp nhất từ ​​điển Python với phương thức cập nhật

Phương thức Python

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
7 được sử dụng để cập nhật các mục. Trong trường hợp này, chúng tôi sẽ sử dụng phương pháp cập nhật từ điển. Về cơ bản, những gì nó sẽ làm là cập nhật bất kỳ khóa hiện có nào với các giá trị mới hoặc tạo các cặp
# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
1 mới cho các khóa không tồn tại

Hãy xem điều này hoạt động như thế nào khi tất cả các phím là duy nhất

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
4

Chúng ta có thể thấy ở đây rằng chúng ta đã sao chép từ điển đầu tiên của mình, sau đó cập nhật từ điển. Xin lưu ý, bản cập nhật này diễn ra tại chỗ, nghĩa là bạn không cần gán lại từ điển cho chính nó

Bây giờ hãy xem điều gì sẽ xảy ra khi hai từ điển dùng chung một khóa

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
5

Chúng ta có thể thấy rằng tương tự như hai phương pháp khác được trình bày trong hướng dẫn, từ điển bên phải sẽ cập nhật bất kỳ khóa chia sẻ nào của từ điển bên trái

Trong phần tiếp theo, bạn sẽ thấy phân tích sâu hơn về cách hợp nhất hai từ điển Python với các khóa dùng chung hoạt động như thế nào

Bạn muốn tìm hiểu thêm về chuỗi f Python?

Hợp nhất từ ​​điển Python với các khóa dùng chung

Từ điển Python yêu cầu khóa của chúng là duy nhất. Khi bạn cố gắng hợp nhất hai hoặc nhiều từ điển và có sự trùng lặp trong các khóa, cần đưa ra quyết định về việc giá trị của từ điển nào sẽ được sử dụng cho các khóa trùng lặp

Python sẽ luôn cập nhật các bản ghi ở bên trái với các bản ghi ở bên phải, bất kể bạn sử dụng phương pháp hợp nhất từ ​​điển nào (trong số ba phương pháp được xác định ở trên)

Theo trực giác, điều này hợp lý nhất khi nhìn vào phương thức

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
7. Vì phương thức
# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
7 cập nhật các giá trị trên từ điển bên trái với các giá trị của từ điển bên phải, chúng ta có thể hiểu rõ hơn về điều này bằng trực giác

Tuy nhiên, điều gì sẽ xảy ra khi bạn hợp nhất nhiều hơn hai từ điển, tất cả đều có khóa giống nhau?

Hãy xem nó trông như thế nào với phương pháp giải nén

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
8

Chúng ta có thể thấy rằng mặc dù khóa

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'a': 4}

dict3 = dict1 | dict2

print(dict3)

# Returns: {'a': 4, 'b': 2, 'c': 3}
2 được chia sẻ trên cả ba từ điển, nhưng giá trị của từ điển xa nhất bên phải được giữ cho khóa đó

Trong phần tiếp theo, bạn sẽ tìm hiểu cách hợp nhất các từ điển bằng cách nối thêm các giá trị cho danh sách khi tồn tại các khóa trùng lặp

Cần kiểm tra xem một khóa có tồn tại trong từ điển Python không?

Hợp nhất các từ điển Python bằng cách nối thêm các giá trị

Có nhiều lần bạn có thể muốn lưu trữ các giá trị danh sách trong các giá trị của từ điển của mình. Sau đó, khi bạn hợp nhất các từ điển, bạn có thể muốn hợp nhất các danh sách, thay vì ghi đè lên chúng. Đó chính xác là những gì bạn sẽ học trong phần này

Đối với điều này, chúng tôi sẽ lặp lại các khóa và giá trị của từ điển mà chúng tôi muốn hợp nhất thành một từ điển khác. Nếu khóa tồn tại, thì chúng tôi sử dụng phương thức

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'a': 4}

dict3 = dict1 | dict2

print(dict3)

# Returns: {'a': 4, 'b': 2, 'c': 3}
3 để thêm vào danh sách giá trị

Hãy xem nó trông như thế nào

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict3 = dict1 | dict2

print(dict3)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
1

Trong phần tiếp theo, bạn sẽ tìm hiểu một số phương pháp đơn giản để hợp nhất các từ điển Python, bắt đầu với vòng lặp Python for

Bạn muốn tìm hiểu cách sử dụng hàm Python

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'a': 4}

dict3 = dict1 | dict2

print(dict3)

# Returns: {'a': 4, 'b': 2, 'c': 3}
4 để lặp qua hai danh sách?

Hợp nhất từ ​​điển Python với vòng lặp For

Một triển khai ngây thơ của việc hợp nhất từ ​​điển là sử dụng vòng lặp Python for

Đối với phương pháp này, chúng tôi sẽ lặp qua từng cặp

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
1 trong từ điển và xem liệu nó có tồn tại trong từ điển kia không. Nếu mặt hàng tồn tại, thì chúng tôi sẽ cập nhật giá trị của nó. Nếu không, thì chúng tôi chèn cặp
# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
1 mới

Hãy xem nó trông như thế nào

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict3 = dict1 | dict2

print(dict3)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
6

Trong phần tiếp theo, bạn sẽ học cách sử dụng khả năng hiểu từ điển Python

Bạn muốn tìm hiểu thêm về vòng lặp for Python? . Thay vào đó, bạn muốn xem một video?

Hợp nhất từ ​​điển Python với khả năng hiểu từ điển

Khả năng hiểu từ điển Python hoạt động rất giống với vòng lặp for. Nếu bạn muốn tìm hiểu thêm về cách hiểu từ điển Python, hãy xem hướng dẫn chuyên sâu của tôi tại đây

Chúng ta có thể thêm 2 từ điển trong Python không?
Chúng ta có thể thêm 2 từ điển trong Python không?

Hãy xem cách chúng ta có thể sử dụng khả năng hiểu từ điển Python để hợp nhất hai từ điển

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
0

Bạn muốn tìm hiểu thêm về cách hiểu danh sách Python? . Thêm một người học trực quan, hãy xem hướng dẫn YouTube của tôi tại đây

Sự kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng Python để hợp nhất hai hoặc nhiều từ điển. Bạn đã học cách thực hiện việc này bằng các phương thức tích hợp sẵn, chẳng hạn như toán tử hợp nhất

# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
2 có sẵn trong Python 3. 9 trở lên, phương pháp
# Merge two Python dictionaries using the merge operator in Python 3.9+
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}

dict1 |= dict2

print(dict1)

# Returns: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
7 và phương pháp giải nén. Bạn cũng đã học cách xử lý các khóa trùng lặp và hợp nhất các giá trị được tạo từ danh sách. Cuối cùng, bạn đã học được một số cách triển khai ngây thơ hơn như vòng lặp for và khả năng hiểu từ điển để hợp nhất từ ​​điển

Bạn có thể kết hợp từ điển trong Python không?

Trăn 3. 9 đã giới thiệu toán tử hợp nhất (. ) trong lớp dict . Sử dụng toán tử hợp nhất, chúng ta có thể kết hợp các từ điển trong một dòng mã. Chúng tôi cũng có thể hợp nhất các từ điển tại chỗ bằng cách sử dụng toán tử cập nhật (. =).

Từ điển có thể có 2 giá trị trong Python không?

Ý tưởng chung. Trong Python, nếu chúng ta muốn từ điển có nhiều giá trị cho một khóa, chúng ta cần lưu trữ các giá trị này trong vùng chứa riêng của chúng trong từ điển . Để làm như vậy, chúng tôi cần sử dụng một vùng chứa làm giá trị và thêm nhiều giá trị của chúng tôi vào vùng chứa đó. Các thùng chứa phổ biến là danh sách, bộ dữ liệu và bộ.