【问题标题】:How to zfill after a certain value in a list如何在列表中的某个值之后进行 zfill
【发布时间】:2022-11-24 23:11:41
【问题描述】:

我有一个看起来像这样的列表

ls =
['DATA2022_10.csv',
 'DATA2022_2.csv',
 'DATA2022_3.csv',
 'DATA2022_4.csv',
 'DATA2022_5.csv',
 'DATA2022_6.csv',
 'DATA2022_7.csv',
 'DATA2022_8.csv',
 'DATA2022_9.csv']

我想在此列表中填充 zfill 元素以便对我的数据进行排序。

预期输出:

ls =
['DATA2022_02.csv',
 'DATA2022_03.csv',
 'DATA2022_04.csv',
 'DATA2022_05.csv',
 'DATA2022_06.csv',
 'DATA2022_07.csv',
 'DATA2022_08.csv',
 'DATA2022_09.csv',
 'DATA2022_10.csv']

zfill 只允许我在左侧或右侧添加 0,如何仅在列表元素的第 9 个值(即 _ )之后添加 0

【问题讨论】:

    标签: python list


    【解决方案1】:

    您甚至不需要加零和排序。如果您的目标是对列表进行排序,请直接使用natsort

    from natsort import natsorted
    
    new =natsorted(ls)
    print(new)
    

    给#

    ['DATA2022_2.csv', 'DATA2022_3.csv', 'DATA2022_4.csv', 'DATA2022_5.csv', 'DATA2022_6.csv', 'DATA2022_7.csv', 'DATA2022_8.csv', 'DATA2022_9.csv', 'DATA2022_10.csv']
    

    【讨论】:

    • 谢谢,这是最简单的方法
    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 2022-06-28
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2011-06-27
    • 2020-10-13
    相关资源
    最近更新 更多