我有这样的对象:
et = {
"applications": [
{
"applications_application": 'value',
"application_journalNumber": 'value',
"appParticipants": [
{
"appParticipant_inn": "value",
"appParticipant_kpp": "value",
"legalForm_code": "value"
}
]
}
]
}
我需要递归地遍历它的所有键。我怎样才能做到呢?我想要得到类似的东西:
applications
applications_application
application_journalNumber
appParticipants
appParticipant_inn
appParticipant_kpp
legalForm_code
我的不起作用的解决方案:
def myprint(d):
for k, v in d.items():
if isinstance(v, dict):
myprint(v)
else:
if isinstance(v, list):
myprint(v[0])
附注每个数组中只有一项。
最佳答案
怎么样:
def traverse_dict(d):
keys = []
for key, item in d.items():
keys.append(key)
if isinstance(item, dict):
keys.extend(traverse_dict(item))
elif isinstance(item, list):
for d in item:
keys.extend(traverse_dict(d))
return keys
关于python - 如何递归迭代复杂的python对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57755392/