我有这个文件列表:
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
答案 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']