首页 > 编程语言 > 详细

python通过递归清除字典中value为特定值的key

时间:2021-05-05 11:42:28      阅读:32      评论:0      收藏:0      [点我收藏+]

输入dict

person = {‘a‘: {‘age‘: 43, ‘addr‘: ‘‘}, ‘b‘: {‘age‘: 0, ‘addr‘: ‘China‘, ‘d‘: {‘age‘: 43, ‘addr‘: ‘‘}}, ‘c‘: {‘age‘: 0, ‘addr‘: None}}

代码


_filter = [0, ‘0‘, None, ‘‘]
_key_list = {}

def get_k(data_json, target=_key_list, filter=_filter):
    for key in data_json.keys():
        if isinstance(data_json[key], dict):
            if not bool(data_json[key]):
                continue
            target[key] = {}
            get_k(data_json[key], target[key])
        else:
            if data_json[key] not in filter:
                target[key] = data_json[key]
    return target

输出

运行一次

{‘a‘: {‘age‘: 43}, ‘b‘: {‘addr‘: ‘China‘, ‘d‘: {‘age‘: 43}}, ‘c‘: {}}

运行两次

{‘a‘: {‘age‘: 43}, ‘b‘: {‘addr‘: ‘China‘, ‘d‘: {‘age‘: 43}}}

python通过递归清除字典中value为特定值的key

原文:https://www.cnblogs.com/bionexit/p/14730759.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!