修复如何使用Python排序方法对列表中的元素进行排序的方式[重复]

问题描述 投票:0回答:1

我的列表包含以下图像,这些图像的名称结构为“number.image”

  • 列表基于路径存储本地文件夹的元素。
[1.image, 2.image, 3.image, 4.image, 5.image, 6.image, 7.image, 8.image, 9.image, 10.image, 11.image, 12.image, 13.image]

应用 python 内置

sorted()
方法来确保列表中的元素以正确的方式排序,我得到了这个结果。如您所见,顺序不正确。

1.image 
10.image
11.image
12.image
13.image
2.image
3.image
4.image
5.image
6.image
7.image
8.image
9.image
python list sorting sortedlist
1个回答
0
投票

如果您想使用内置

sorted
函数而不安装
natsort
等库,您可以使用 lambda 函数作为关键参数,将文件的主干解释为整数:

>>> filenames = [
...     '1.image',
...     '10.image',
...     '11.image',
...     '12.image',
...     '13.image',
...     '2.image',
...     '3.image',
...     '4.image',
...     '5.image',
...     '6.image',
...     '7.image',
...     '8.image',
...     '9.image',
... ]
>>> sorted_filenames = sorted(filenames, key=lambda f: int(f.split('.')[0]))
>>> print('\n'.join(sorted_filenames))
1.image
2.image
3.image
4.image
5.image
6.image
7.image
8.image
9.image
10.image
11.image
12.image
13.image
© www.soinside.com 2019 - 2024. All rights reserved.