Rumah > pembangunan bahagian belakang > Tutorial Python > Program Python untuk membandingkan elemen dalam dua kamus

Program Python untuk membandingkan elemen dalam dua kamus

王林
Lepaskan: 2023-08-20 19:25:06
ke hadapan
1658 orang telah melayarinya

Program Python untuk membandingkan elemen dalam dua kamus

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.

Kamus dalam Python

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 }
Salin selepas log masuk

Dalam artikel ini, kita akan melihat cara membandingkan elemen dua kamus dalam Python menggunakan 3 kaedah berbeza.

Gunakan operator tanda sama rata ( = = )

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.

Contoh

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 ")
Salin selepas log masuk

Output

Output untuk kod di atas ialah –

dict1 is not equal to dict2
Salin selepas log masuk
Salin selepas log masuk

Bandingkan dua kamus menggunakan gelung

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.

Contoh

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 ")
Salin selepas log masuk

Output

Keluaran program di atas adalah seperti berikut:

dict1 is not equal to dict2
Salin selepas log masuk
Salin selepas log masuk

Gunakan kaedah pemahaman senarai

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

Kod python di bawah menunjukkan cara kita boleh menggunakan pemahaman senarai untuk membandingkan dua kamus yang diberikan dan mencetak hasilnya.

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")
Salin selepas log masuk

Output

Keluaran kod di atas adalah seperti berikut:

dict1 and dict2 are not equal
Salin selepas log masuk
Kesimpulan

Dalam artikel ini, kami mendapat tahu tentang kamus dalam ular sawa, di mana kami boleh menggunakan kamus juga bagaimana kami boleh membandingkan 2 kamus yang diberikan Kami menemui 3 kaedah yang berbeza untuk membandingkan 2 kamus

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

st

ialah 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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan