Python - 根据特定列表中的值过滤字典键


我们在编写 Python 字典时,有时需要根据特定条件来筛选出字典中的某些键。本文将介绍如何从 Python 字典中筛选出键。

使用 for 和 in

采用这种方法时,我们会将要筛选的键的值放入一个列表中。然后遍历列表中的每个元素,并检查它是否存在于给定的字典中。我们创建一个结果字典,其中包含在字典中找到的这些值。

示例

 运行演示

dictA= {'Mon':'Phy','Tue':'chem','Wed':'Math','Thu':'Bio'}
key_list = ['Tue','Thu']

print("Given Dictionary:\n",dictA)
print("Keys for filter:\n",key_list)
res = [dictA[i] for i in key_list if i in dictA]

print("Dictionary with filtered keys:\n",res)

输出

运行以上代码会得到以下结果 −

Given Dictionary:
   {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:
   ['Tue', 'Thu']
Dictionary with filtered keys:
   ['chem', 'Bio']

使用交集

我们使用交集来找到给定字典和列表之间的公共元素。然后应用 set 函数来获取不同的元素,并将结果转换为列表。

示例

 运行演示

dictA= {'Mon':'Phy','Tue':'chem','Wed':'Math','Thu':'Bio'}
key_list = ['Tue','Thu']

print("Given Dictionary:\n",dictA)
print("Keys for filter:\n",key_list)

temp = list(set(key_list).intersection(dictA))

res = [dictA[i] for i in temp]

print("Dictionary with filtered keys:\n",res)

输出

运行以上代码会得到以下结果 −

Given Dictionary:
   {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:
   ['Tue', 'Thu']
Dictionary with filtered keys:
   ['chem', 'Bio']

更新于: 22-7-2020

1000+ 浏览量

开启你的职业生涯

通过完成教程进行认证

开始
广告