Python程式比較兩個字典中的元素


字典是Python中一種強大的資料型別,允許你以鍵值對的形式儲存資料。在本文中,我們將討論如何在Python中比較兩個字典中的元素。我們將介紹比較字典元素的語法,並提供一些示例。

Python中的字典

在Python中,字典可以透過將一系列元素放在花括號 { } 內來建立,元素之間用逗號 (,) 分隔。字典包含成對的值,一個值是鍵,另一個對應的元素是它的值。

字典中的值可以是任何資料型別,並且可以重複,而鍵不能重複,必須是不可變且唯一的。字典中鍵的名稱區分大小寫。字典也可以透過內建函式 `dict()` 建立。空字典可以透過只放置花括號 { } 來建立。

我們可以如下宣告字典:

thisdict = { "brand": "Ford", "model": "Mustang", year": 1964 }

在本文中,我們將學習如何使用三種不同的方法在python中比較兩個字典的元素。

使用等號運算子 ( == )

在這種方法中,我們將使用雙等號比較運算子來比較兩個字串。當運算子的左側和右側相等時,== 運算子返回true;當兩者不相等時,返回false。

如果給定的兩個字典彼此相等且相同,則此運算子將返回true,我們可以得出結論:這兩個字典相等。如果它們不相等,則返回false。

示例

在下面的示例中,我們使用 == 運算子比較兩個字典

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 ")

輸出

上述程式碼的輸出將是:

dict1 is not equal to dict2

使用迴圈比較兩個字典

在這種方法中,我們將透過迭代一個字典的長度,並檢查每次迭代中鍵值對與另一個字典中對應的鍵值對,從而逐一比較兩個字典的元素。

我們還將檢查兩個字典的長度,如果它們不相等,我們可以直接得出結論:這兩個字典不相等。要獲取字典中對應於鍵的值,我們使用 `.get()` 函式,該函式給出作為引數給出的鍵的值。

示例

在下面的示例中,我們將。

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 ")

輸出

上述程式的輸出如下:

dict1 is not equal to dict2

使用列表推導式方法

在這種方法中,我們將使用列表推導式來比較兩個字典。列表推導式是編寫列表、元組或字典中for迴圈的簡短方法。在這種方法中,我們將遍歷其中一個字典,並比較兩個字典中相同鍵的值是否相同。如果相同,則字典相等;如果不相同,則不相等。

示例

下面的Python程式碼展示瞭如何使用列表推導式來比較兩個給定的字典並列印結果。

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

結論

在本文中,我們瞭解了Python中的字典以及字典的用途。我們還學習瞭如何比較兩個給定的字典。我們學習了三種不同的方法來比較兩個字典。

第一種方法涉及使用等號運算子 (==)。第二種方法涉及使用迭代來檢查兩個字典的每個鍵值對。在最後一種方法中,我們使用Python的列表推導式方法來迭代一個字典的鍵值對,並檢查兩個字典中鍵的值,然後進行比較。

第一種方法的時間複雜度為 O(1),因為它使用簡單的比較。而另外兩種方法的時間複雜度為 O(n),其中 n 是字典的長度。

更新於:2023年2月17日

2K+ 瀏覽量

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告