如何解决字典列表上的Python查询
你好,我是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
函数和理解来获得与条件匹配的第一个日期。
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))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。