首页 > 解决方案 > 根据Python中项目子集的顺序对列表进行排序

问题描述

假设一个变量列表{a,b,c,d,e}并基于一些值,它们的顺序应该是c > b > d > e > a. 我所拥有的是列表的有序子集,例如:

b > d > a

c > e

b > e > a

c > b > a等等。

使用列表子集的顺序,我怎样才能达到列表的完整顺序。如果不存在任何 2 个元素的比较,则它们各自的顺序将无关紧要,例如c > b > d = e > a,如果不存在d&的比较e

标签: pythonlistalgorithm

解决方案


将每个有序子集视为定义图中的有向边(变量是顶点),例如,b>d>a 定义边 b->d 和 d->a,然后对结果图进行拓扑排序。


推荐阅读