어리석은 질문에 대해 유감스럽게 생각하지만 잘못 했나요?중첩 된 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'])
불행히도 코드는 예상대로 작동하지 않으며 목록에서 처음으로 '없음'만 제거됩니다. 내가 어디서 잘못한거야?
고맙습니다.
사전을 반복하는 동안 수정하지 마십시오. 'childrens.remove (child)'가 for 루프를 깨고 있습니다. – MCBama
'json.dumps()'가 JSON으로 변환하고자 할 때'None'을 제거 할 필요가 없다는 것을 알았습니까? – mrCarnivore
@ juanpa.arrivillaga : 당신 말이 맞아요. 내 의견을 바로 잡았습니다. – mrCarnivore