Kamus ialah jenis data yang berkuasa dalam Python yang membolehkan anda menyimpan data sebagai pasangan nilai kunci Dalam artikel ini, kita akan membincangkan cara membandingkan elemen dalam dua kamus dalam Python elemen kamus dan akan memberikan contoh bagaimana untuk berbuat demikian.
Dalam Python, kamus boleh dibuat dengan meletakkan satu siri elemen di dalam kurung kerinting { }, dipisahkan dengan koma (,). Kamus memegang pasangan nilai kunci, di mana satu adalah kunci dan satu lagi adalah nilai yang sepadan.
Nilai dalam kamus boleh dari mana-mana jenis data dan boleh diduplikasi, manakala kunci tidak boleh diulang dan mestilah tidak boleh diubah dan unik Nama kunci dalam kamus adalah sensitif huruf besar fungsi terbina dalam dict(). Kamus kosong boleh dibuat dengan hanya meletakkan pada kurungan kerinting { }.
Kami boleh mengisytiharkan kamus dengan cara berikut −
thisdict = { "brand": "Ford", "model": "Mustang", year": 1964 }
Dalam artikel ini, kita akan melihat cara membandingkan elemen dua kamus dalam Python menggunakan 3 kaedah berbeza.
Dalam kaedah ini, kami akan menggunakan operator perbandingan tanda sama berganda untuk membandingkan dua string. Operator == mengembalikan benar apabila bahagian kiri dan kanan operator adalah sama, dan mengembalikan palsu apabila ia tidak sama.
Jika 2 kamus yang diberikan kepada kita adalah sama dan sama antara satu sama lain, operator ini akan kembali benar dan kita boleh membuat kesimpulan bahawa kedua-dua kamus itu adalah sama Dan ia akan kembali palsu jika tidak sama.
Dalam contoh di bawah, kami menggunakan operator == untuk membandingkan 2 kamus
dict1 = { 'first' : 'apple' , 'second' : 'orange' , 'third' : 'mango' } dict2 = { 'first' : 'apple' , 'second' : 'orange' , 'third' : 'grapes'} if dict1 == dict2: print (" dict1 is equal to dict2 ") else: print (" dict1 is not equal to dict2 ")
Output untuk kod di atas ialah –
dict1 is not equal to dict2
Dalam kaedah ini, kami akan membandingkan elemen dua kamus satu demi satu, dengan mengulang panjang satu kamus dan dalam setiap lelaran menyemak kunci dan nilai dalam kamus yang sepadan berbanding dengan pasangan kunci dan nilai yang sepadan dalam kamus lain .
Kami juga akan menyemak panjang kedua-dua kamus dan jika tidak sama, kami boleh membuat kesimpulan secara langsung bahawa kedua-dua kamus itu tidak sama. Untuk mendapatkan nilai yang sepadan dengan kunci dalam kamus, kami menggunakan fungsi .get, yang memberikan nilai kunci sebagai argumen.
Dalam contoh di bawah, kami akan.
dict1 = { 'first' : 'apple' , 'second' : 'orange' , 'third' : 'mango' } dict2 = { 'first' : 'banana' , 'second' : 'guava' , 'third' : 'grapes'} if len (dict1) != len (dict2): print ("The dictionaries are not equal ") else: flag=0 for i in dict1: if dict1.get(i) != dict2.get(i): flag=1 break if flag==0: print (" dict1 is equal to dict2 ") else: print (" dict1 is not equal to dict2 ")
Keluaran program di atas adalah seperti berikut:
dict1 is not equal to dict2
Dalam kaedah ini, kami akan menggunakan pemahaman senarai untuk membandingkan dua kamus Pemahaman senarai adalah cara yang lebih pendek untuk menulis gelung untuk dalam senarai, tuple atau kamus Dalam kaedah ini, kami akan mengulangi salah satu kamus dan membandingkan jika nilainya untuk kunci yang sama dalam kedua-dua kamus adalah sama atau tidak Jika mereka sama, kamus akan sama dan tidak sama daripada mereka tidak sama
Contoh
dict1 = { 'first' : 'apple' , 'second' : 'orange' , 'third' : 'mango' } dict2 = { 'first' : 'banana' , 'second' : 'guava' , 'third' : 'grapes' } ans = all ( dict2.get (key) == value for key , value in dict1.items() ) if ans == 'true': print ("dict1 and dict2 are equal") else: print ("dict1 and dict2 are not equal")
dict1 and dict2 are not equal
Kaedah pertama melibatkan penggunaan operator kesamaan ( ==). Kaedah kedua melibatkan penggunaan lelaran untuk menyemak setiap pasangan nilai kunci kedua-dua kamus Dalam kaedah terakhir kami menggunakan kaedah pemahaman senarai python untuk mengulangi kekunci nilai pasangan satu kamus dan semak nilai untuk kunci dalam kedua-dua kamus dan bandingkannya
Kerumitan masa bagi pendekatan 1
stialah O (1) kerana ia menggunakan perbandingan mudah Manakala 2 lagi kaedah mempunyai kerumitan masa O (n) di mana n ialah panjang kamus.
Atas ialah kandungan terperinci Program Python untuk membandingkan elemen dalam dua kamus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!