如何从包含词典列表的字典中获取项目

时间:2020-05-15 11:04:40

标签: python dictionary

我有字典,其中包含字典列表:

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"}}}]}

在我发现存在“ key7”或“ key9”的情况下,我正在努力寻找获取“ id”字段的方法。像这样:

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

预期输出: some_id

1 个答案:

答案 0 :(得分:0)

如果有人会遇到这种情况,请找到一种方法来访问项目:

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'])

它遍历字典,直到字典的值是list,然后如果值是list,则使用列表推导,您可以访问元素并输出:

some_id
some_id_2