如何按元素中的/数量对列表进行排序?

时间:2019-08-01 20:01:38

标签: python-3.x list sorting

我想对包含文件夹路径作为每个元素的列表进行排序。元素应按子文件夹的数量按升序排序。每个/代表一个子文件夹。独立文件夹应位于列表的顶部。样本列表如下所示:

sports = ['Sports/Soccer/Spain/First Division', 'Sports/Soccer/Spain', 'Sports/Soccer', Sports/Soccer/England', 'Sports']

预期的最终结果是: ['Sports', 'Sports/Soccer', Sports/Soccer/England','Sports/Soccer/Spain', 'Sports/Soccer/Spain/La Liga']

我该如何实现?

1 个答案:

答案 0 :(得分:3)

如果您希望对它进行排序:

sports.sort(key=lambda x: x.count("/"))

对于新的排序列表:

result = sorted(sports, key=lambda x: x.count("/"))