【问题标题】:Python glob: sorting files of format [int]_[int] the same as windows name sortPython glob:对格式[int]_[int]的文件进行排序,与windows名称排序相同
【发布时间】:2019-01-28 10:27:40
【问题描述】:

我在窗口中有按名称排序的文件,如下所示:

1_0
1_1
1_2
1_3
1_4
1_5
1_6
1_7
1_8
1_9
1_10
1_11
2_0
2_1

上面的第一个整数_之前应该是第一个排序,后面是_之后的整数。我想以同样的方式对 glob 进行排序。但是,当我使用 sorted(glob.glob(files)) 时,我会收到如下命令:

1_1
1_10
1_11
1_12
1_13
1_14
1_15
1_16
1_17
1_18
1_19
1_2

对于上述格式的文件,有没有一种简单的方法可以像windows一样按名称进行glob排序?

【问题讨论】:

    标签: python sorting glob


    【解决方案1】:

    您可以按相关性顺序为排序功能提供多个键

    sorted(glob.glob(files), key=lambda x: (int(x.split('_')[0]), int(x.split('_')[1])))
    

    ['1_0', '1_1', '1_2', '1_3', '1_4', '1_5', '1_6', '1_7', '1_8', '1_9', '1_10', '1_11 ', '2_0', '2_1']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 1970-01-01
      • 2021-10-04
      • 2020-08-03
      • 2022-11-17
      • 2012-05-21
      • 2017-12-05
      相关资源
      最近更新 更多