Tham gia bên trong Python dict

Không có gì lạ khi có hai từ điển trong Python mà bạn muốn kết hợp. Trong bài viết này, chúng ta sẽ xem xét nhiều cách khác nhau về cách hợp nhất hai từ điển trong Python

Một số giải pháp không có sẵn cho tất cả các phiên bản Python, vì vậy chúng tôi cũng sẽ kiểm tra các cách hợp nhất cho các bản phát hành đã chọn

Khi hợp nhất các từ điển, chúng ta phải xem xét điều gì sẽ xảy ra khi hai từ điển có cùng khóa. Trước tiên hãy xác định điều gì sẽ xảy ra khi chúng ta hợp nhất

Hợp nhất từ ​​điển trong Python

Việc hợp nhất thường xảy ra từ phải sang trái, như

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
0. Khi có một bộ giữ khóa chung trong cả hai từ điển, giá trị của từ điển thứ hai sẽ ghi đè giá trị của từ điển thứ nhất

Điều này có thể được chứng minh trong hình minh họa dưới đây, trong đó các thành phần của từ điển B được hợp nhất với A, với bộ từ điển màu xanh lá cây của từ điển B thay thế cho bộ màu cam

Trong suốt bài viết này, chúng tôi sẽ sử dụng các từ điển sau

  • Từ điển có giá trị
>>> a = {1:'peanut', 2:'butter', 3:'jelly', 4:'time'}
>>> b = {1:'fish', 2:'chips'}
  • Từ điển có giá trị lồng nhau
>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}

Trăn 3. 9 trở lên

Từ phiên bản Python 3. 9 trở đi, chúng ta có thể sử dụng các toán tử hợp nhất [được đại diện bởi

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
1 ] để kết hợp hai từ điển

>>> x = a | b
>>> print[x]
{1: 'fish', 2: 'chips', 3: 'jelly', 4: 'time'}

Các toán tử hợp nhất từ ​​điển cũng có thể được sử dụng ở vị trí của các từ điển lồng nhau. Tại đây, quá trình ghi đè hoàn toàn giá trị của khóa phù hợp diễn ra

>>> y = c | d
>>> print[y]
{1: ['fish', 'chips'], 2: ['peanut', 'butter', 'jelly', 'time']}

Python 3 trở lên

Đối với các phiên bản trước của Python 3, rất tiếc là chúng tôi không thể sử dụng các toán tử hợp nhất. Thay vào đó, chúng ta có thể hợp nhất bằng cách giải nén cả hai từ điển, sử dụng dấu hoa thị kép

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
2, bên trong một từ điển khác như hình bên dưới

>>> x = {**a, **b}
>>> print[x]
{1: 'fish', 2: 'chips', 3: 'jelly', 4: 'time'}

Điều tương tự cũng áp dụng cho các từ điển có giá trị danh sách lồng nhau. Các giá trị của các phím chồng chéo sẽ được ghi đè như sau

________số 8

Python 2 trở lên

Trong các phiên bản Python cũ, các đoạn mã trên sẽ không hoạt động. Thay vào đó, việc hợp nhất có thể được tạo điều kiện thuận lợi bằng cách kết hợp các mục của từ điển hoặc

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
3 của cả hai biến

Chúng ta cũng có thể sử dụng phương pháp từ điển

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
4 và
>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
5. Cuối cùng, chúng ta có thể lặp qua các mục của từ điển và sử dụng phương thức
>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
6 để thêm nó vào từ điển khác

Sử dụng các mục[]

Hãy bắt đầu bằng cách kết hợp với

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
7

>>> a = {1:'peanut', 2:'butter', 3:'jelly', 4:'time'}
>>> b = {1:'fish', 2:'chips'}
4

Cú pháp trên phù hợp với các giá trị đơn giản. Đối với một từ điển lồng nhau chứa các giá trị danh sách, lệnh gọi

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
7 cần được chuyển thành một
>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
9 rồi kết hợp

>>> a = {1:'peanut', 2:'butter', 3:'jelly', 4:'time'}
>>> b = {1:'fish', 2:'chips'}
7

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

Giải pháp này hoạt động tốt vì các phím là số, các phím gốc được giữ nguyên. Đối với các loại khóa khác nhau, bạn sẽ thích tùy chọn sau

Một cách khác để thực hiện hợp nhất là sao chép một trong các từ điển và cập nhật nó với từ điển khác như hình bên dưới

>>> a = {1:'peanut', 2:'butter', 3:'jelly', 4:'time'}
>>> b = {1:'fish', 2:'chips'}
8

Nối các giá trị danh sách trong tất cả các phiên bản Python

Trong các phần trước, chúng ta đã ghi đè các giá trị lồng nhau của các từ điển đã hợp nhất. Có những trường hợp các giá trị lồng nhau cần được thêm vào thay vì ghi đè

Điều này có thể được thực hiện bằng cách sử dụng phương pháp

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
6 như hình bên dưới

>>> c = {1: ['peanut','butter','jelly','time'], 2:['fish','chips']}
>>> d = {1: ['fish','chips'], 2:['peanut','butter','jelly','time']}
0

Phần kết luận

Trong bài viết này, chúng ta đã tìm hiểu cách hoạt động của tính năng hợp nhất từ ​​điển và cách chúng ta có thể hợp nhất hai từ điển trong các phiên bản Python khác nhau. Hợp nhất từ ​​điển có thể khá tiện dụng trong các tình huống như đọc nhiều tệp JSON, xây dựng bản đồ đối tượng hoặc thậm chí xây dựng chỉ mục nội dung

Bạn có thể tham gia từ điển bằng 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 lồng trong từ điển không?

Một từ điển có thể chứa các từ điển , đây được gọi là các từ điển lồng nhau.

dict ={} trong Python là gì?

Cấu trúc bảng băm khóa/giá trị hiệu quả của Python được gọi là "dict". Nội dung của một dict có thể được viết dưới dạng một chuỗi key. cặp giá trị trong dấu ngoặc nhọn { }, e. g. chính tả = {key1. giá trị1, khóa2. giá trị2,. }. "Chính tả trống" chỉ là một cặp dấu ngoặc nhọn trống {}.

Từ điển Python có thể được lồng vào nhau không?

Trong Python, Từ điển lồng nhau có thể được tạo bằng cách đặt các từ điển được phân tách bằng dấu phẩy nằm trong dấu ngoặc nhọn .

Chủ Đề