Cara membandingkan kamus bersarang dengan python

Dalam tutorial ini, kami memiliki dua kamus dan ingin mengetahui kesamaan apa yang mungkin mereka miliki (seperti kunci yang sama, nilai yang sama, dll. ). Pada dasarnya ada beberapa kesamaan antara kedua kamus tersebut dan Anda harus mengetahui kesamaan tersebut maka artikel ini sangat membantu. JADI, mari kita mulai mempelajari cara membandingkan dua kamus dengan Python dan menemukan kesamaan di antara keduanya

Kesamaan antara kamus dengan Python

Pada dasarnya kamus adalah pemetaan antara sekumpulan kunci dan nilai. Kunci mendukung operasi dasar seperti serikat, persimpangan, dan perbedaan. Ketika kita memanggil metode items() pada kamus maka itu hanya mengembalikan pasangan (kunci, nilai).

Sekarang, Pertimbangkan dua kamus

a = {   'x' : 1,   'y' : 2,   'z' : 3 }
b = {   'w' : 10,   'x' : 11,   'y' : 2 }

Temukan kunci yang sama dari dua kamus dengan Python

Di sini, kami menulis kode yang menemukan kunci umum dalam dua kamus sebagai

a = {   'x' : 1,   'y' : 2,   'z' : 3 }
b = {   'w' : 10,   'x' : 11,   'y' : 2 } 
common_keys = a.keys() & b.keys() # intersection operation on keys
print("The common keys are :",common_keys)
_

Keluaran

The common keys are : {'x', 'y'}

Temukan kunci di kamus A yang tidak ada di kamus B

Sekarang, kami menemukan kunci yang ada di kamus a dan bukan di kamus b as

A = {   'x' : 1,   'y' : 2,   'z' : 3 }
B = {   'w' : 10,   'x' : 11,   'y' : 2 } 
diffrent_keys = A.keys() - B.keys()   
print("The key that are in A and not in B are :",diffrent_keys)

Keluaran

The key that are in A and not in B are : {'z'}
_

Temukan pasangan (kunci,nilai) yang sama dalam kamus dengan Python

Sekarang, kami melakukan operasi di mana kami menemukan pasangan (kunci, nilai) yang umum di kedua kamus

Saya rasa saya belum pernah melihat perpustakaan standar bahasa apa pun yang melakukan ini dengan benar. Pelakunya biasa adalah angka floating point, yang (menurut saya) seharusnya tidak sesuai dengan Equatable. e. g. di Rubi

#!/usr/bin/ruby

a = { key: 0.1 * 3 }
b = { key: 0.3 }

p(a == b) # => false

Masalah serupa adalah dengan tanggal (mati hanya dalam mikrodetik, misalnya), dan string (yang mungkin secara tidak sengaja dibandingkan tanpa normalisasi unicode, meskipun Swift menanganinya)

Jika memungkinkan, saya sarankan Anda menentukan definisi kesetaraan khusus domain yang akurat untuk kasus penggunaan Anda

Pada artikel ini, kita akan membahas bagaimana membandingkan dua kamus dengan Python. Seperti yang kita semua tahu apa itu kamus, tetapi kadang-kadang kita mungkin perlu membandingkan dua kamus. Mari kita lihat berbagai metode untuk melakukan hal yang sama

Menggunakan operator == untuk Membandingkan Dua Kamus

Di sini kita menggunakan operator perbandingan kesetaraan di Python untuk membandingkan dua kamus apakah keduanya memiliki pasangan nilai kunci yang sama atau tidak

Piton




dict1= {'Name':'asif'

Equal
0
Equal
1:
Equal
3
Equal
4

Equal
5= {'Name':
False
0
Equal
0
Equal
1:
False
4
Equal
4

 

False
6 dict1==
pip install deepdiff
0

pip install deepdiff
1
pip install deepdiff
2
pip install deepdiff
3

pip install deepdiff
4:

pip install deepdiff
1
pip install deepdiff
2
pip install deepdiff
8

Keluaran

dict1 is not equal to dict2

Menggunakan Loop untuk Membandingkan Dua Kamus

Di sini kami memeriksa kesetaraan dua kamus dengan mengulang melalui salah satu kunci kamus menggunakan for loop dan memeriksa kunci yang sama di kamus lain.  

Python3




dict1= {'Name':'asif'

Equal
0
Equal
1:
Equal
3
Equal
4

Equal
5= {'Name':'asif'
Equal
0
Equal
1:
Equal
3
Equal
4

 

False
6 {2{3={2{6

pip install deepdiff
1
pip install deepdiff
2{9'Name'0'Name'1

pip install deepdiff
1

pip install deepdiff
4:

'Name'_5

pip install deepdiff
1'Name'7='Name'9

pip install deepdiff
1:1 :2:3 :4

:5

False
6 ________99______7=:9

'asif'0'Name'7='asif'3

'asif'0'asif'5

pip install deepdiff
1
False
6 'Name'7=='Name'9:

:5

pip install deepdiff
2{9
Equal
06'Name'1

pip install deepdiff
1
pip install deepdiff
4:

:5

pip install deepdiff
2{9'Name'0'Name'1

Keluaran

Equal
_

Menggunakan Pemahaman Daftar untuk Membandingkan Dua Kamus

Di sini kita menggunakan konsep pemahaman daftar untuk membandingkan dua kamus dan memeriksa apakah pasangan nilai kunci yang sama ada di kamus atau tidak

Python3




Equal
16= {
Equal
19:
Equal
21
Equal
0
Equal
23:
Equal
25
Equal
4

Equal
27= {
Equal
19:
Equal
25
Equal
0
Equal
23:
Equal
21
Equal
4

Equal
38=
Equal
40
Equal
41==
Equal
44:1
Equal
46:3 ________6______48

pip install deepdiff
2
Equal
50

Keluaran

False

Menggunakan modul DeepDiff untuk Membandingkan Dua Kamus

Modul ini digunakan untuk menemukan perbedaan yang mendalam pada kamus, iterables, string, dan objek lainnya. Untuk menginstal modul ini ketik perintah di bawah ini di terminal

pip install deepdiff

Piton




Equal
_51
Equal
52
Equal
53
Equal
54

 

Equal
55= {'Name':'asif'
Equal
0
Equal
6_______1:
Equal
3
Equal
4

Equal
66= {'Name':
False
0
Equal
0
Equal
1:
False
4
Equal
4

 

Equal
77=
Equal
79

 

pip install deepdiff
2
Equal
81

Keluaran

{'nilai_berubah'. {"root['Nama']". {'nilai baru'. 'lalita', 'nilai_lama'. 'asif'}, "root['Umur']". {'nilai baru'. 78, 'nilai_lama'. 5}}}

Bagaimana cara membandingkan 2 nilai kamus dengan Python?

Daftar Python cmp(). Metode perbandingan cmp() digunakan dalam Python untuk membandingkan nilai dan kunci dari dua kamus . Jika metode mengembalikan 0 jika kedua kamus sama, 1 jika dic1 > dict2 dan -1 jika dict1 < dict2.

Bagaimana cara memeriksa nilai dalam kamus bersarang Python?

Akses Item Kamus Bersarang . Metode get() mengembalikan nilai untuk kunci jika kuncinya ada di kamus, jika tidak, ia mengembalikan Tidak Ada. using the special dictionary get() method. The get() method returns the value for the key if the key is in the dictionary, otherwise, it returns None.

Bagaimana Anda memeriksa apakah 2 Dikte itu sama?

Menggunakan operator == untuk Membandingkan Dua Kamus .

Bisakah Anda menggunakan == pada kamus dengan Python?

Menurut dokumen python, Anda memang dapat menggunakan operator == pada kamus .