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

but*_*elo 0 python list

我有这个文件列表:

1.jpg, 2.jpg, ..., 10.jpg, ...
Run Code Online (Sandbox Code Playgroud)

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

[1.jpg, 10.jpg, 11.jpg, ..., 2.jpg, 20.jpg....]
Run Code Online (Sandbox Code Playgroud)

但我希望它们按数值排序

[1.jpg, 2.jpg ,...10 ,11 ,12... ]
Run Code Online (Sandbox Code Playgroud)

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

TX

Ash*_*ary 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']
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

138 次

最近记录:

13 年,6 月 前