[英]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.