簡體   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