zoukankan      html  css  js  c++  java
  • Python多层字典取值

    #! /usr/bin/python
    # coding:utf-8 
    """ 
    @author:Bingo.he 
    @file: get_target_value.py 
    @time: 2017/12/22 
    """
    def get_target_value(key, dic, tmp_list):
        """
        :param key: 目标key值
        :param dic: JSON数据
        :param tmp_list: 用于存储获取的数据
        :return: list
        """
        if not isinstance(dic, dict) or not isinstance(tmp_list, list):  # 对传入数据进行格式校验
            return 'argv[1] not an dict or argv[-1] not an list '
    
        if key in dic.keys():
            tmp_list.append(dic[key])  # 传入数据存在则存入tmp_list
        else:
            for value in dic.values():  # 传入数据不符合则对其value值进行遍历
                if isinstance(value, dict):
                    get_target_value(key, value, tmp_list)  # 传入数据的value值是字典,则直接调用自身
                elif isinstance(value, (list, tuple)):
                    _get_value(key, value, tmp_list)  # 传入数据的value值是列表或者元组,则调用_get_value
        return tmp_list
    
    
    def _get_value(key, val, tmp_list):
        for val_ in val:
            if isinstance(val_, dict):  
                get_target_value(key, val_, tmp_list)  # 传入数据的value值是字典,则调用get_target_value
            elif isinstance(val_, (list, tuple)):
                _get_value(key, val_, tmp_list)   # 传入数据的value值是列表或者元组,则调用自身
    
    

    不好意思,这篇文章也是抄的

          正所谓抄袭一时爽,一直抄一直爽,哈哈哈

               讲究一个资源共享,知识共享,知识不是用来卖钱的,是用来传承的

    原文地址:https://www.cnblogs.com/Detector/p/8085460.html

  • 相关阅读:
    Logstash IIS日志采集
    Logstash_Apache日志采集
    k8s 资源管理
    获取hdfs集群信息(fs.defaultFS)
    PHP CMS的pc标签
    流程
    PHP复习
    权限管理
    注册审核
    简单的文件管理程序练习
  • 原文地址:https://www.cnblogs.com/chk141/p/12220280.html
Copyright © 2011-2022 走看看