在python中排序文件列表

时间:2017-07-28 23:32:56

标签: python sorting

我有一个像这样的列表

a = ['data/1.jpg','data/10.jpg','data/2.jpg'...]

我想按照这种方式对此列表进行排序,

['data/1.jpg','data/2.jpg','data/10.jpg'...]

我尝试了很多方法,但它不起作用,我将如何做?

1 个答案:

答案 0 :(得分:1)

您需要编写一个以您希望的方式解析文件名的函数,并将其用作排序key。对于你给出的例子,你可以这样做:

def key(full_name):
    name, _ = full_name.split(".")
    name, order = name.split("/")
    return name, int(order)

foo = ['data/1.jpg','data/10.jpg','data/2.jpg']
bar = sorted(foo, key=key)