python如何使用字典中的值并进行比较_python嵌套字典比较值与取值的实现示例
前言
本文通過示例給大家介紹了python嵌套字典比較值,取值,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
示例代碼
#取值import types
allGuests = {'Alice': {'apples': 5, 'pretzels': {'12':{'beijing':456}}},
'Bob': {'ham sandwiches': 3, 'apple': 2},
'Carol': {'cups': 3, 'apple pies': 1}}
def dictget(dict1,obj,default=None):
for k,v in dict1.items():
if k == obj:
print(v)
else:
if type(v) is dict:
re=dictget(v,obj)
if re is not default:
print(re)
dictget(allGuests,'beijing')
結果:
比較大小
def bijiaodict(dict1,dict2):
for k,v in dict1.items():
for k2,v2 in dict2.items():
if k==k2 and v==v2:
print('dict1=dict2')
else:
print('dict1!=dict2')
dict1={'2':'6'}
dict2={2:{1:{1:8}}}
bijiaodict(dict1,dict2)
結果:
python字典嵌套字典的情況下獲取某個key的value
正好最近在用python寫接口的測試程序,期間用到解析字典獲取某個key的value,由于多個接口返回的字典格式不是固定的并存在多層嵌套的情況。在字典的方法中也沒有找到可直接達到目的的方法,于是自己寫了個程序。分享給大家:
#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)
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
總結
以上是生活随笔為你收集整理的python如何使用字典中的值并进行比较_python嵌套字典比较值与取值的实现示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux进程终止命令kill或kill
- 下一篇: EditPlus 3设置字体大小