2
私は以下のようにネストされた辞書を持っています。私は入れ子になった辞書の中のそのキーのための全経路で辞書からキーとその値をポップし、それをリストに入れる必要があります。pythonのネストされた辞書からのパス全体と一緒にキー値をポップアップ
a={'aa': {'1': {'bb':{'2': {'cc' : ['xx', 'yy']},
'3': {'dd' : ['zz', 'yy']}}},
'11': {'bbb':{'22': {'cc': ['xxx', 'yyy']},
'33': {'dd' : ['zz', 'yy']}}}}}
私はポップ私のコードは以下の通りですこの
lis = [{'aa': {'1': {'bb':{'3': {'dd' : ['zz', 'yy']}, {'aa': {'11': {'bbb':{'33': {'dd' : ['zz', 'yy']}]
のように評価されたリストを探しています。それはditionaryから値をポップしますが、それをリストに格納することはできません。上記のように、パス全体をポップした値をリストに格納する方法はありますか?
def delete_keys_from_dict(dict_del, lst_keys):
for k in lst_keys:
try:
dict_del.pop(k)
except KeyError:
pass
for v in dict_del.values():
if isinstance(v, dict):
delete_keys_from_dict(v, lst_keys)
return dict_del
delete_keys_from_dict(a, ['dd'])
リストには、デフォルト値を設定すべきではない、delete_keys_from_dict' 'への複数の呼び出しは、間違った結果を返します。 –
@himanshu削除されたキーのパス全体を{'aa':{'1':{'bb':{'3':{'dd':['zz'、 'yy ']}? – Alex