簡體   English   中英

python-在列表內的字典中搜索元素

[英]python - search for an element inside a dictionary inside a list

我的數據結構如下所示:

  - testSet: a list of records in the test set, where each record
             is a dictionary containing values for each attribute

每個記錄中都有一個名為“ ID”的元素。 我現在想通過ID值在testSet搜索一條記錄。 因此,當我獲得ID = 230時,我想返回ID等於230的記錄。

我怎樣才能做到這一點?

next((x for x in testSet if x["ID"] == 230), None)

這將返回具有該ID的第一項,如果找不到則返回None

像這樣嗎

for record in testSet:
    if record['ID'] == 230:
        return record

例如:

set = [{'ID': 50}, {'ID': 80}]

def find_set(id):
    return [elem for elem in set if elem['ID'] == id]

這將返回具有指定ID的所有項目。 如果只想要第一個,則添加[0](在檢查是否存在之后,例如:

def find_set(id):
    elems = [elem for elem in set if elem['ID'] == id]
    return elems[0] if elems else None

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM