37,719
社区成员
发帖
与我相关
我的任务
分享
result = []
level = 0
_findFlag = 0
def explore(d, value):
global _findFlag
global level
global result
if level == 0:
_findFlag = 0
result = []
for key, val in d.items():
if val == value:
result.append(key)
result.append(val)
_findFlag = 1
if isinstance(val, dict):
result.append(key)
level = level + 1
explore(val, value)
if level > 0:
level = level - 1
if _findFlag != 1:
result.pop()
if _findFlag == 1:
return result
d = { "b1":"b1", "women":{"a1":1, "a2":2 },"c1":"c1", "man":{"m1":3, "m2":4 }}
print explore(d, "b1")
print explore(d, 1)
print explore(d, 1)
print explore(d, 3)
print explore(d, 4)
print explore(d, "b1")
print explore(d, "c1")