sorted
使用自定义键函数生成
tuple
. 您还没有指定使用ties会发生什么,因此所需的输出不匹配,并且在一般情况下没有唯一的解决方案。
def sorter(x):
n = x[1].count('/')
i = -n if n >= 3 else 0
j = 0 if n == 0 else 1
k = n
return i, j, k
prepared = sorted(paths.items(), key=sorter)
[(32, 'resources/views/layouts/app.blade.php'),
(44, 'app/Http/Controllers/SearchController.php'),
(21, 'composer.json'),
(39, '.env'),
(19, 'routes/web.php'),
(27, 'app/Filters/Filters.php')]