愚かな質問を申し訳ありませんが、何が間違っていますか?ネストされたdictから項目を再帰的に削除
私はdictを入れました。私はjsonにダンプすることを望んでいました。
[{'text': 'Root', 'children': [{'text': 'X', 'children': [None, None], 'id': 2}, {'text': 'Y', 'children': [], 'id': 3}], 'id': 1}]
「すべて」の値を削除する必要があります。ここに私のコードは次のとおりです。
for items in sub_tree_dicts:
del_null(items['children'])
def del_null(childrens):
for child in childrens:
if child is None:
childrens.remove(child)
else:
del_null(child['children'])
残念ながら、コードが期待どおりに動作し、リストからのみ最初の「なし」を削除しません。どこが間違っていますか?
Thanx。
辞書を繰り返している間は、辞書を変更しないでください。あなたの 'childrens.remove(child)'があなたのforループを壊しています。 – MCBama
'json.dumps()'が 'null'に変更されるため、JSONに変換するときに' None'を削除する必要はありません...? – mrCarnivore
@ juanpa.arrivillaga:そうです。私は私のコメントを修正しました。 – mrCarnivore