Hướng dẫn how to compare nested dictionary in python - cách so sánh từ điển lồng nhau trong python
So sánh 2 từ điển bằng cách sử dụng đệ quy: Show Được chỉnh sửa cho Python 3 (cũng hoạt động cho Python 2):
Python 2 Câu trả lời cũ:
Output:
Đã trả lời ngày 3 tháng 12 năm 2014 lúc 7:41Dec 3, 2014 at 7:41
Venpavenpavenpa 4.17820 Huy hiệu bạc23 Huy hiệu đồng20 silver badges23 bronze badges 1 Mã người dùng đã sửa đổi để làm cho nó thậm chí còn tốt hơn
Output:
Đã trả lời ngày 28 tháng 1 năm 2016 lúc 15:07Jan 28, 2016 at 15:07
MohitcmohitcMohitC 4.2352 Huy hiệu vàng30 Huy hiệu bạc52 Huy hiệu Đồng2 gold badges30 silver badges52 bronze badges 2 Tại sao không sử dụng Thư viện DeepDiff. Xem nó tại: https://github.com/sperman/deepdiff
Tất nhiên nó mạnh hơn, kiểm tra tài liệu để biết thêm. Đã trả lời ngày 24 tháng 11 năm 2020 lúc 11:06Nov 24, 2020 at 11:06
GXMADGXMADgxmad 1.2322 Huy hiệu vàng19 Huy hiệu bạc24 Huy hiệu đồng2 gold badges19 silver badges24 bronze badges 0 Điều này sẽ cung cấp những gì bạn cần với các chức năng hữu ích: Cho Python 2.7
Cho Python 3 (hoặc cao hơn):
Người ven sông 4826 Huy hiệu bạc17 Huy hiệu đồng6 silver badges17 bronze badges Đã trả lời ngày 3 tháng 12 năm 2014 lúc 8:20Dec 3, 2014 at 8:20
lahu89lahu89lahu89 3531 Huy hiệu bạc11 Huy hiệu đồng1 silver badge11 bronze badges Đối với Python 3 trở lên, mã để so sánh bất kỳ dữ liệu nào.
Đã trả lời ngày 23 tháng 7 năm 2019 lúc 6:05Jul 23, 2019 at 6:05
Thêm một phiên bản thêm một số khả năng khác:
Nếu bạn xác định chức năng 8 như bên dưới và gọi nó theo ví dụ của @rkatkam, bạn sẽ nhận được:
Đây là định nghĩa chức năng: 0Đã trả lời ngày 24 tháng 3 năm 2021 lúc 2:00Mar 24, 2021 at 2:00
Thêm một giải pháp không thu hồi. 1Đã trả lời ngày 10 tháng 1 năm 2020 lúc 14:04Jan 10, 2020 at 14:04
Arran Duffarran DuffArran Duff 1.1061 huy hiệu vàng9 Huy hiệu bạc21 Huy hiệu đồng1 gold badge9 silver badges21 bronze badges Tôi đã không thích nhiều câu trả lời mà tôi đã tìm thấy trên nhiều chủ đề ... rất nhiều trong số chúng khuyên bạn nên sử dụng 9 rất mạnh không hiểu tôi nhưng nó không cho tôi đầu ra mà tôi mong muốn không chỉ là một chuỗi của các khác biệt, hoặc một từ điển trông lạ mới được xây dựng với các khóa mới được thu thập từ các khóa lồng của bản gốc ... nhưng thực sự trả về một từ điển thực với các khóa gốc và giá trị delta.Trường hợp sử dụng của tôi cho điều này là gửi tải trọng nhỏ hơn hoặc không có nếu không có sự khác biệt so với mạng MQTT. Soluton tôi tìm thấy đã bị đánh cắp một phần từ liên kết này, tuy nhiên đã sửa đổi nó để cho tôi đồng bằng. Sau đó, tôi đệ trình nó, gọi lại 0 nếu nó được lồng để xây dựng từ điển Diff cuối cùng. Nó hóa ra đơn giản hơn nhiều so với nhiều ví dụ ngoài kia. FYI nó không quan tâm đến việc sắp xếp.Giải pháp của tôi: 2Example: 3Output: 4Đã trả lời ngày 10 tháng 11 năm 2021 lúc 5:19Nov 10, 2021 at 5:19
Dung dịch 5Thí dụ 6Đầu ra 7Đã trả lời ngày 26 tháng 2 lúc 11:44Feb 26 at 11:44
1 Chúng ta có thể so sánh 2 từ điển trong Python không?Sử dụng == Toán tử để so sánh hai từ điển ở đây, chúng tôi đang sử dụng toán tử so sánh bình đẳng trong Python để so sánh hai từ điển cho dù cả hai có cùng một cặp giá trị khóa hay không.
Here we are using the equality comparison operator in Python to compare two dictionaries whether both have the same key value pairs or not.
Bạn có thể sử dụng == trên từ điển trong Python không?Theo tài liệu Python, bạn thực sự có thể sử dụng toán tử == trên từ điển.you can indeed use the == operator on dictionaries.
Làm cách nào để so sánh từ điển trong Python 3?Sự mô tả.Phương thức cmp () so sánh hai từ điển dựa trên khóa và giá trị .. Cú pháp.Sau đây là cú pháp cho phương pháp cmp () - cmp (dict1, dict2). Thông số.Dict1 - Đây là từ điển đầu tiên được so sánh với Dict2..... Giá trị trả về..... Thí dụ..... Result.. Làm thế nào bạn có thể biết nếu hai từ điển là giống nhau?Sử dụng == Toán tử để kiểm tra xem các từ điển có bằng nhau không, bạn có thể tạo từ điển với bất kỳ phương thức nào được xác định trong Python và sau đó so sánh chúng bằng toán tử ==.Nó sẽ trả về sự thật các từ điển là bằng và sai nếu không.
You can create the dictionaries with any of the methods defined in Python and then compare them using the == operator. It will return True the dictionaries are equals and False if not. |