python – 打印分层字典的递归方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 打印分层字典的递归方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1376字,纯文字阅读大概需要2分钟。
内容图文
![python – 打印分层字典的递归方法](/upload/InfoBanner/zyjiaocheng/729/b07bf011a8c04e6ebd5717478daaccb9.jpg)
我想用Python创建一个递归方法来打印这个字典:
partners = {
'manager-1': {
'name': 'Manager 1',
'children': {
'manager-2': {
'name': 'Manager 2',
'children': {
'employee-1': {
'name': 'Employee 1',
'children': {
'employee-7': {
'name': 'Employee 7',
},
'employee-8': {
'name': 'Employee 8',
}
}
},
'employee-2': {
'name': 'Employee 2',
},
'employee-3': {
'name': 'Employee 3',
},
},
},
'manager-3': {
'name': 'Manager 3',
'children': {
'employee-4': {
'name': 'Employee 4',
},
'employee-5': {
'name': 'Employee 5',
},
'employee-6': {
'name': 'Employee 6',
},
},
},
'manager-4': {
'name': 'Manager 4',
},
'manager-5': {
'name': 'Manager 5',
}
}
}
}
并给它这样:
--Manager 1
----Manager 2
------Employee 1
--------Employee 7
--------Employee 8
------Employee 2
------Employee 3
----Manager 3
------Manager 4
------Manager 5
------Manager 6
----Manager 4
----Manager 5
我做了这个方法:
def hierarch(partners):
for partner in partners:
if 'children' not in partner.keys():
print(partner['name'])
else:
hierarch(partner['children'])
运行代码时出现此错误:
AttributeError: 'str' object has no attribute 'keys'
如何制作允许我打印此层次结构的脚本?我对字典不是很好.我正在使用Python 3.请帮忙吗?谢谢.
解决方法:
你需要重现确切的订单吗?你可以使用这样的东西来遍历数据结构:
def recurse(data, level):
if type(data) is dict:
if "name" in data:
print("-" * level + data["name"])
for (key, value) in data.items():
recurse(value, level + 1)
recurse(partners, 1)
内容总结
以上是互联网集市为您收集整理的python – 打印分层字典的递归方法全部内容,希望文章能够帮你解决python – 打印分层字典的递归方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。