从列表中查找字典值(理解)

如果我有一个类似的列表:

my_list = [1,2,3,4]

和像这样的字典:

my_dict = {'bob':1, 'jane':2, 'fred':17}

我想使用列表查找字典键值,我可以这样做:

In [69]: for i in my_list:
    ...:     for k,v in my_dict.items():
    ...:         if i == v:
    ...:             print(k,v)

返回:

bob 1
jane 2

但我正在尝试更多地使用列表和字典理解,并且正在努力弄清楚如何通过理解来做到这一点......请问有什么帮助吗?

回答

您可以my_dict通过检查my_list字典理解中的值来过滤

>>> {k:v for k,v in my_dict.items() if v in my_list}
{'bob': 1, 'jane': 2}

但这正在生成一个新的字典,而不是打印出元素(不确定您的最终目标是什么)


以上是从列表中查找字典值(理解)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>