查找 Python 字典中的共同项
字典是 Python 中用于存储数据的一种无序数据结构,它以键值对的形式存储数据。在其他编程语言中,它也被称为关联数组或哈希映射。字典使用花括号{}表示,键和值之间用冒号“:”分隔。字典中的键是唯一的,而值可以是重复的。要访问字典的元素,我们将使用键。
示例
以下是使用 Python 中可用的dic()方法和花括号{}创建字典的示例。
# creating dictionary using dict() method: l = [('name', 'John'), ('age', 25), ('city', 'New York')] dic = dict(l) print("The dictionary created using dict() method",dic) # creating dictionary using {}: dic = {'name' : 'John', 'age' : 25, 'city' :'New York'} print("The dictionary created using {}",dic)
输出
The dictionary created using dict() method {'name': 'John', 'age': 25, 'city': 'New York'} The dictionary created using {} {'name': 'John', 'age': 25, 'city': 'New York'}
有多种方法可以查找 Python 字典中的共同项。让我们详细了解每种方法。
使用集合交集
一种直接的方法是将字典的键转换为集合,然后使用集合交集运算符&查找共同的键。
示例
在这个示例中,我们首先使用set(dict1.keys())和set(dict2.keys())将dict1和dict2的键转换为集合。然后,集合交集&运算符执行集合交集,得到一个包含共同键的集合。最后,我们通过遍历共同键并从dict1中获取相应的值来创建一个新的字典common_items。
dict1 = {'a': 1, 'b': 2, 'c': 3} dict2 = {'b': 20, 'c': 30, 'd': 40} common_keys = set(dict1.keys()) & set(dict2.keys()) common_items = {key: dict1[key] for key in common_keys} print("The common items in the dictionaries dict1,dict2:",common_items)
输出
The common items in the dictionaries dict1,dict2: {'c': 3, 'b': 2}
使用字典推导式
这种方法是使用字典推导式,它可以直接创建一个仅包含共同键值对的新字典。
示例
在这种方法中,我们使用for key in dict1遍历dict1的键,对于每个键,我们使用条件if key in dict2检查它是否在dict2中存在。如果条件为真,我们将键值对包含在common_items字典中。
dict1 = {'a': 1, 'b': 2, 'c': 3} dict2 = {'b': 20, 'c': 30, 'd': 40} common_items = {key: dict1[key] for key in dict1 if key in dict2} print("The common items in the dictionaries dict1,dict2:",common_items)
输出
The common items in the dictionaries dict1,dict2: {'b': 2, 'c': 3}
使用items()方法
items()方法返回一个包含字典键值对的视图对象。我们可以使用此方法遍历项并过滤出共同项。
示例
在这种方法中,我们使用items()方法通过for key, value in dict1.items()遍历dict1的键值对。然后我们检查键是否在dict2中存在,以及两个字典中对应的值是否相同。如果满足这些条件,我们将键值对包含在common_items字典中。
dict1 = {'a': 1, 'b': 2, 'c': 3} dict2 = {'b': 20, 'c': 30, 'd': 40} common_items = {key: value for key, value in dict1.items() if key in dict2 and dict2[key] == value} print("The common items in the dictionaries dict1,dict2:",common_items)
输出
The common items in the dictionaries dict1,dict2: {}
广告