如何按其值排序“字符串”数字的python列表

时间:2012-10-30 18:23:18

标签: python list

我有这个文件列表:

1.jpg, 2.jpg, ..., 10.jpg, ...

如果我做了一个python os.listdir(“。”)我列出了所有文件但按字母顺序排列如下:

[1.jpg, 10.jpg, 11.jpg, ..., 2.jpg, 20.jpg....]

但我想按照数值

排序
[1.jpg, 2.jpg ,...10 ,11 ,12... ]

如何重新排序列表以完成此操作?

TX

1 个答案:

答案 0 :(得分:6)

In [51]: lis=["1.jpg","10.jpg","11.jpg","2.jpg","20.jpg"]

In [52]: sorted(lis,key=lambda x:int(x.split(".")[0]))
Out[52]: ['1.jpg', '2.jpg', '10.jpg', '11.jpg', '20.jpg']