簡體   English   中英

如何從包含字典列表的字典中獲取項目

[英]How to get an item from a dictionary which contains list of dictionaries

我有包含字典列表的字典:

dict = {"key0": "some_value", "key1": 1, "value": [{"key2": "some_value", "key3": "some_value", "key4": {"key5": 0}, "key6": {"key7": {"key8": "some_value", "id": "some_id"}, "key9": {"key10": "some_value", "id": "some_id_2"}}}]}

我正在努力尋找獲取“id”字段的方法,以防我發現“key7”或“key9”存在。 就像是:

for key in dict.items(): 
    if 'value' in dict.keys(): 
        if 'key7' in dict.values(): 
            print("I want to print key7 id value here") 

預期 output: some_id

如果有人會遇到這種情況,請找到一種訪問項目的方法:

my_dict = {"key0": "some_value", "key1": 1, "value": [{"key2": "some_value", "key3": "some_value", "key4": {"key5": 0}, "key6": {"key7": {"key8": "some_value", "id": "some_id"}, "key9": {"key10": "some_value", "id": "some_id_2"}}}]}

然后是這樣的:

for k, v in my_dict.items(): 
    if isinstance(v, list): 
        value_list = v 
        if not value_list: 
            pass 
        elif value_list is not None: 
            for vl in value_list: 
                print(vl['key6']['key7']['id']) 
                print(vl['key6']['key9']['id'])

它遍歷字典,直到字典的值是列表,然后如果值是列表,使用列表理解,您可以訪問元素,它將 output:

some_id
some_id_2

暫無
暫無

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

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