python多级字典_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值是列表或者元組,則調用自身
不好意思,這篇文章也是抄的
正所謂抄襲一時爽,一直抄一直爽,哈哈哈
講究一個資源共享,知識共享,知識不是用來賣錢的,是用來傳承的
總結
以上是生活随笔為你收集整理的python多级字典_Python多层字典取值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么办理民生银行信用卡账单分期
- 下一篇: 2016能不能用微信帮朋友还信用卡