为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python字典列表中查找值?

如何在python字典列表中查找值?

慕丝7291255 2021-03-29 10:18:09
有以下格式的python字典列表。您将如何进行搜索以找到特定名称?label = [{'date': datetime.datetime(2013, 6, 17, 8, 56, 24, 2347),          'name': 'Test',          'pos': 6},             {'date': datetime.datetime(2013, 6, 17, 8, 56, 24, 2347),              'name': 'Name 2',          'pos': 1}]以下无效:if 'Test'  in label[name]'Test' in label.values()
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

您必须搜索列表中的所有词典;使用any()与发电机表达式:

any(d['name'] == 'Test' for d in label)

这会短路;返回True时,第一个找到匹配,或者返回False如果没有字典的匹配。


查看完整回答
反对 回复 2021-04-02
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您可能还会追求:


>>> match = next((l for l in label if l['name'] == 'Test'), None)

>>> print match

{'date': datetime.datetime(2013, 6, 17, 8, 56, 24, 2347),

 'name': 'Test',

 'pos': 6}

或者可能更清楚:


match = None

for l in label:

    if l['name'] == 'Test':

        match = l

        break


查看完整回答
反对 回复 2021-04-02
  • 2 回答
  • 0 关注
  • 346 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信