0

私はこのファイルのリストを持っています:

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

4

1 に答える 1

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']
于 2012-10-30T18:25:19.230 に答える