我有字典,其中包含字典列表:
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
答案 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