【python】多维/嵌套字典数据无限遍历,获取json返回结果的所有key值集合

该方法是获取嵌套的json key值集合。 若需要获取所有json嵌套的key,value值,修改对应return即可。

self.key_list = []
def get_dict_allkeys(self, dict_a):
        """
        多维/嵌套字典数据无限遍历,获取json返回结果的所有key值集合
        :param dict_a: 
        :return: key_list
        """
        if isinstance(dict_a, dict):  # 使用isinstance检测数据类型
            for x in range(len(dict_a)):
                temp_key = dict_a.keys()[x]
                temp_value = dict_a[temp_key]
                self.key_list.append(temp_key)
                self.get_dict_allkeys(temp_value)  # 自我调用实现无限遍历
        elif isinstance(dict_a, list):
            for k in dict_a:
                if isinstance(k, dict):
                    for x in range(len(k)):
                        temp_key = k.keys()[x]
                        temp_value = k[temp_key]
                        self.key_list.append(temp_key)
                        self.get_dict_allkeys(temp_value)
        return self.key_list       

# 测试
dict01 = {"a": 1, "b": {"kk": {"nn": 111, "pp": "ppoii"}, "yy": "123aa", "uu": "777aa"},
              "c": [{"a": 1, "b": 2}, {"a": 3, "b": 4}, {"a": 5, "b": 6}]}
get_dict_allkeys(dict01)

# 输出
['a', 'c', 'a', 'b', 'a', 'b', 'a', 'b', 'b', 'kk', 'pp', 'nn', 'yy', 'uu']

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 3,036评论 0 9
  • https://litaotao.github.io/python-materials 1. 枚举 - enume...
    柒呇阅读 1,050评论 0 1
  • 七月她说可能来,七月底成行,今天来黄岛,终于可以见一面了。 一直在微社里听她甜甜的、慢慢的声音,每次感觉她活的那么...
    lindacui阅读 107评论 0 0
  • 墨蘭阅读 283评论 0 1
  • Permutations II N Queensdfs, N层每层N个可选位置,在是否加Q的地方限制条件是不在同一...
    Muama阅读 242评论 0 0