1. 程式人生 > 其它 >Python 多維多層級巢狀,逐級提取目標key

Python 多維多層級巢狀,逐級提取目標key

# 多維巢狀字典資料
# 目標鍵名稱,巢狀資料,儲存變數
def Get_Target_Value(key,dic,tmp_list):
    """
  :param key:目標key值
  :param dic:JSON資料
  :param tmp_list:儲存獲取的資料
  :return: list
  """
    # 輸入引數判斷
    if not isinstance(tmp_list,list):
        err="tmp_list: 引數型別錯誤!"
        return   err

    # 非字典型別(列表、元組)輸入,進剝層處理
    if isinstance(dic,(list,tuple)):
        # 非字典型別,則遍歷元素深入查詢
        for v in dic:
            # print(v)
            Get_Target_Value(key,v,tmp_list)

            # 字典型別輸入,進行遍歷查詢處理
    elif isinstance(dic,dict):
        # 查詢本層字典
        if key in dic.keys():
            tmp_list.append(dic[key]) # 傳入資料存在則存入tmp_list
            # 在本層字典的值中查詢
        for value in dic.values():
            Get_Target_Value(key,value,tmp_list)
    return tmp_list