python按照字典顺序输出字母_按层次和字母顺序对字典排序(Python)

我使用Python字典(product_dict)来表示产品及其所有子部分的层次结构。dict的键是unique id(UUID),值是类对象,包含关于这些部分的所有信息,包括:part.name # A string, containing the actual name of a component

part.idCode # UUID of component

part.parent # UUID of parent component

part.children # List of UUIDs of child components

part.tier # An integer that specifies its tier/level within the hierarchy

现在为了以有序的方式输出数据,我希望按层次和字母顺序对部分进行排序。对于使用树结构的分层排序,我发现这个问题的答案对于打印来说非常有用:Sorting data hierarchically。对于这个示例,为了使用我的数据结构,我做了一些小小的修改:

^{pr2}$

考虑到我的产品是一架飞机,现在的输出如下(实际订单不同):Aircraft

Systems

Subsystem 2

Subsystem 1

Subsubsystem 1.1

Engines

Airframe

Section 2

Section 1

Section 4

Section 3

但是,由于我在这个阶段对Python的理解有限,我很难将字母排序添加到这个例程中(基于零件名称字符串)。我知道树是如何建立起来的,但我不掌握打印程序,因此无法判断在哪里添加字母排序例程。在

在给定的示例中,我想要的输出应该是:Aircraft

Airframe

Section 1

Section 2

Section 3

Section 4

Engines

Systems

Subsystem 1

Subsubsystem 1.1

Subsystem 2

非常感谢任何帮助。我不坚持上面给出的分层排序方法,所以我对完全不同的方法持开放态度。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值