【问题标题】:How to sort a list by the number of / in an element?如何按元素中/的数量对列表进行排序?
【发布时间】:2019-08-01 20:01:38
【问题描述】:

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

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']

我怎样才能做到这一点?

【问题讨论】:

    标签: python-3.x list sorting


    【解决方案1】:

    如果你想就地排序:

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

    对于新的排序列表:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      相关资源
      最近更新 更多