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