繁体   English   中英

Python 查询字典列表

[英]Python query on list of dicts

您好,我是 python 的新手(实际上是从 VB 迁移而来)

在 VB 中,如果我有 d 对象列表,我可以执行以下操作:

    Dim value_to_find = List_of_objects.Where(Function(x) x.Something).FirstOrDefault

在我当前的项目中,我的数据结构是一个字典列表。 像这样的东西:

        [{Id:1,name:Bob, surname:Brown, dateB:07/12/1985,status:Active,code:202020, contact:1,
    list_of_dicts2[{id:1,dateB:07/07/2020},{id:2,dateB:07/08/2020}]}]

现在我想访问 list_of_dicts2 中的某个 dateB,如果有办法像在 Visual Basic 中那样做吗? 还是我必须遍历所有内容?

您可以使用next function 和理解来获取与条件匹配的第一个日期。

next(d['dateB'] for d in list_of_dicts if your_condition)

如果列表中没有一个符合您的条件, next还允许使用默认值:

next((d['dateB'] for d in list_of_dicts if your_condition), your_default_value)

尝试这个:

list(filter(lambda d: d['dateB']==value_to_find , list_of_dicts2))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM