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
(‘芒果’、‘梨’)