Python程序 比较两个字典中的元素
字典是Python中一种强大的数据类型,它允许你将数据存储为键值对。在这篇文章中,我们将讨论如何在Python中比较两个字典中的元素。我们将介绍比较字典元素的语法,并将提供如何进行比较的例子。
Python 中的字典
在 Python 中,一个字典可以通过在大括号 { }中放置一连串的元素来创建 ,用逗号 (Ⅳ) 分隔。Dictionary 可以保存成对的值,一个是 key,另一个对应的对元素是它的值。
dictionary 中的值可以是任何数据类型,并且可以重复,而 key 不能重复,必须是不可改变的和唯一的。字典中的键的名称是区分大小写的。Dictionary 也可以由内置函数 dict() 创建。一个空的 dictionary 可以通过放置大括号 { }来创建。
我们可以用以下方式声明一个 dictionary —
thisdict = { "brand": "Ford", "model": "Mustang", year": 1964 }
在这篇文章中,我们将看看如何使用3种不同的方法在python中比较2个字典的元素
使用平等运算符 ( = = )
在这个方法中,我们将使用双等价比较运算符来比较两个字符串。当左边的运算符和右边的运算符相等时,==运算符返回真,而当它们都不相等时,它返回假。
如果给我们的2个字典是相等的,并且彼此相同,这个运算符将返回真,我们可以得出结论,这两个字典是相等的。而如果它们不相等,则返回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是字典的长度。