У меня есть вложенный словарь в python - {a: {d: {v: 2, c: 3}}} и я хочу написать функцию, которая получает ключ - как 'а' и вернуть словарь: {d: {v: 2, с: 3}} только внутриУдалить внешний ключ вложенного словаря в Python
Я пытаюсь использовать:
def findkeys(node, kv):
if isinstance(node, list):
for i in node:
for x in findkeys(i, kv):
yield x
elif isinstance(node, dict):
if kv in node:
yield node[kv]
for j in node.values():
for x in findkeys(j, kv):
yield x
Но вернуть его как список, а не словарь, поэтому он имеет только один элемент в списке [{d:{v:2, c:3}}]
, поэтому я не могу получить доступ после него к ключу 'c', например
Мой словарь preasent дерево, и я хочу пройти через него, пока не доберусь до листа.
У кого-то есть идея?
Как вы описали, вы 'outerdict [ 'а'] 'даст вам внутреннее Dict – pvg
Вы также можете сделать list [0] после вызова вашей функции, хотя это кажется ненужным шагом. –