[root@han learn_python]# vi getdictvalue.py
def getdictvalue(d,code):
result=[]
if isinstance(d, dict) :
try:
value = d[code]
result.append(value)
except Exception as e:
pass
for valuedd in d.values():
if isinstance(valuedd,dict):
yied_result=getdictvalue(valuedd,code)
if len(yied_result) != 0:
result.append(getdictvalue(valuedd,code))
elif isinstance(valuedd,(list,tuple)):
for item in d:
valueitem=getdictvalue(valuedd,code)
if valueitem !="None" and valueitem is not None and len(valueitem)!=0:
if valueitem not in result:
result.append(valueitem)
elif isinstance(d, (list, tuple)):
for item in d:
value=getdictvalue(item,code)
if value !="None" and value is not None and len(value)!=0:
if value not in result:
result.append(value)
return result
class listchangetype(object):
def __init__(self):
self.arg = []
def make(self,listone):
for i in listone:
if isinstance(i,(type,list)):
for l in i:
self.make(i)
else:
if i not in self.arg:
self.arg.append(i)
return self.arg
a = {"a":{"b":{"c":0x00}}}
b = getdictvalue(a, "c")
c = listchangetype()
c.make(b)
print(c.make(b))
print(getdictvalue(a, "c"))
python:获取嵌套字典值
最新推荐文章于 2024-08-19 18:28:56 发布