根據字串精確匹配,輸出層級結構

uj5u.com熱心網友回復:
import json
jso = '''
{"中國":[
{"浙江":[{"杭州":["西湖","西溪濕地"]}]},
{"江蘇":[{"蘇州":["太陽山國家森林公園"]},{"無錫":["三國水滸景區","沿湖濕地公園"]}]}
]
}
'''
js = json.loads(jso)
def getTree(d,parDeep):
for k, v in d.items():
lstRes.append(parDeep+k)
if isinstance(v, list):
for i in v:
if isinstance(i, dict):
lstRes.append(parDeep+k)
getTree(i,parDeep+ k+".")
else:
lstRes.append(parDeep+k+'.'+i)
def find(lstT, strKey):
for i in lstT:
if i.find(strKey) > -1:
return i
lstRes = list()
getTree(js, '')
lstRes = list(set(lstRes))
lstRes.sort(key =lambda x: len(x))
result =find(lstRes, '無錫')
print(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/250912.html
