从列表中查找字典值(理解)
如果我有一个类似的列表:
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}
但这正在生成一个新的字典,而不是打印出元素(不确定您的最终目标是什么)