Python查找多个字典公共键key的方法可以使用集合交集的方法,具体步骤如下:
-
将所有字典的键值集合转换为一个列表,并使用Python内置的set()函数转换为集合,然后使用集合的交集函数&获取所有字典公共的键值。
-
利用列表解析式遍历字典列表,取出每个字典公共的键值对应的键值。
下面是使用Python代码实现的示例:
#创建字典列表
dict_list=[{'name':'kate','age':12},{'name':'rose','age':20,'city':'Beijing'},{'name':'lily','age':'28','city':'Shanghai'}]
#取出字典列表中所有字典的键,并利用set()函数转换为集合
key_set=[set(dict.keys()) for dict in dict_list]
#获取所有字典公共的键值
keys_intersection=set.intersection(*key_set)
# 使用列表解析式遍历字典列表,取出每个字典公共的键值对应的键值
result=[dict[key] for dict in dict_list for key in keys_intersection if key in dict]
#输出结果
print(result) # ['kate', 'Beijing', 'Shanghai']
上述代码中,我们创建了一个字典列表dict_list,包含了3个字典,并使用列表解析式遍历字典列表,依次取出每个字典的键集合,并将所有键集合取交集,从而获得所有字典的公共键集合keys_intersection。接着我们使用列表解析式遍历字典列表,取出每个字典公共的键值对应的键值,并将结果存储在列表result中,最后输出结果result。
下面再给一个示例,假设现在有两个字典,分别为dict1和dict2,他们的键值对如下:
dict1={'a':1,'b':2,'c':3}
dict2={'c':4,'d':5,'e':6}
现在我们要从这两个字典中查找公共的键值,代码如下:
#将两个字典的键转换成集合并取交集
keys_intersection=set(dict1.keys())&set(dict2.keys())
#使用列表解析式遍历公共的键,并获取键值
result=[dict1[key] for key in keys_intersection]
#输出结果
print(result) #[3]
上述代码中,我们将两个字典dict1和dict2的键都转换成了集合,并使用集合的交集&获取字典公共的键集合keys_intersection。接着我们使用列表解析式遍历公共的键,并获取这些键的键值,此处我们选择了字典dict1中的键值为结果输出。因为在本示例中,虽然字典dict2中也有键c,但是我们希望输出的是字典1和字典2中所有公共键c的键值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python查找多个字典公共键key的方法 - Python技术站