Python 将列表项与字典项进行比较,如果字典中存在该项,则打印出该项的值
示例代码:Python 将列表项与字典项进行比较,如果字典中存在该项,则打印出该项的值,python,Python,示例代码: my_dict = {'ABC':'Apple','DEF':'Mango','GHI':'Pear','JKL':'Orange','MNO':'Plum'} lst_x = ['DEF','GHI'] 预期结果: ['Mango', 'Pear'] 您可以使用一个简单的循环,询问是否有具有相同值的键并打印它,例如: my_dict={'ABC':'Apple','DEF':'Mango','GHI':'Pear','JKL':'Orange','MNO':'Plum'} l
my_dict = {'ABC':'Apple','DEF':'Mango','GHI':'Pear','JKL':'Orange','MNO':'Plum'}
lst_x = ['DEF','GHI']
预期结果:
['Mango', 'Pear']
您可以使用一个简单的循环,询问是否有具有相同值的键并打印它,例如:
my_dict={'ABC':'Apple','DEF':'Mango','GHI':'Pear','JKL':'Orange','MNO':'Plum'}
lst=['ABC'、'DEF'、'GHI'、'JKL'、'MNO']
对于输入lst:
如果输入my_dict.keys():
打印(键“->”,我的命令[键])
>>>ABC->苹果
>>>DEF->芒果
>>>GHI->梨
>>>JKL->橙色
>>>MNO->李子
我个人不相信给出直截了当的答案,所以我会给你一个提示:
// for x in lst:
// if x in dictionary then
// lst_x.append(x)
我相信这足以让你弄清楚剩下的 一种方法是使用
列表理解
构建请求的列表。基本上,我们在外循环中遍历
列表
,在内循环中遍历字典
,然后将列表
值与字典
中的键
进行比较,如果我们有匹配项,然后我们将关联的键的值保存在新的输出列表中
下面的代码段如上所述工作:
my_dict = {'ABC':'Apple','DEF':'Mango','GHI':'Pear','JKL':'Orange','MNO':'Plum'}
lst_x = ['DEF','GHI']
out = [value for element in lst_x for key, value in my_dict.items() if element == key]
print(out)
运行时,它会打印:
['Mango', 'Pear']
您可以使用操作符一次检索多个键。itemgetter
:
从操作员导入itemgetter
my_dict={'ABC':'Apple','DEF':'Mango','GHI':'Pear','JKL':'Orange','MNO':'Plum'}
lst_x=['DEF','GHI']
#如果有可能的话,lst_x会得到一些键,这些键不在我的字典中-添加以下行:
#lst_x=set(lst_x).intersection(set(my_dict.keys())
res=itemgetter(*lst_x)(我的字典)
产出:
>res
(‘芒果’、‘梨’)