【问题标题】:lookup dictionary value from a list (with comprehension) [duplicate]从列表中查找字典值(有理解)[重复]
【发布时间】:2021-10-16 22:08:15
【问题描述】:

如果我有这样的列表:

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

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

【问题讨论】:

    标签: python


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-01-07
      • 2022-01-22
      • 2019-04-05
      • 2018-10-15
      • 2019-01-15
      • 2015-03-28
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多