python判斷字典是巢狀和巢狀字典列表
阿新 • • 發佈:2018-12-29
#coding: utf-8 import types #獲取字典中的objkey對應的值,適用於字典巢狀 #dict:字典 #objkey:目標key #default:找不到時返回的預設值 def dict_get(dict, objkey, default): tmp = dict for k,v in tmp.items(): if k == objkey: return v else: if type(v) is types.DictType: ret = dict_get(v, objkey, default) if ret is not default: return ret return default #如 dicttest={"result":{"code":"110002","msg":"裝置裝置序列號或驗證碼錯誤"}} ret=dict_get(dicttest, 'msg', None) print(ret)
字典的列表
"network": { "tls": [], "udp": [ { "src": "192.168.56.102", "dst": "114.114.114.114", "offset": 2372, "time": 9.506472110748291, "dport": 53, "sport": 51394 }, { "src": "192.168.56.102", "dst": "114.114.114.114", "offset": 2611, "time": 2.232347011566162, "dport": 53, "sport": 53604 }] } for k,v in mydict.items(): if type(v) is types.ListType: for val in v: if type(val) is types.DictType: for key,value in val.items(): print("%s:%s"%(key,value)) else: print("%s:%s"%(k,v))