【发布时间】:2023-04-08 16:31:01
【问题描述】:
我知道这是一个非常基本的问题,但从我在搜索时看到的答案中,我没有找到适合这个问题的答案。
我在使用mylist = os.listdir(<folder_path>) 时收到以下文件名称:
['file.0', 'file.1', 'file.10', 'file.100', 'file.2', 'file.3']
我想像这样按升序对该列表进行排序:
['file.0', 'file.1', 'file.2', 'file.3', 'file.10', 'file.100']
我尝试使用mylist.sort(),但它没有任何更改就离开了列表。 sorted() 函数也没有做任何改变。
一种解决方法是将数字与字符串分开并将它们转换为整数到一个新数组:
[0, 1, 10, 100, 2, 3]
然后对它们进行排序:
[0, 1, 2, 3, 10, 100]
那我需要一个函数来做"file." + i。
但是有没有更好的方法呢?
【问题讨论】:
-
应该指出它 is 实际上是对其进行排序,但是由于它们是字符串,
file.10排在file.2之前,因为1小于2(0无关紧要)。
标签: python string list sorting