我正在处理一个目录中的一些文件,需要对这些文件进行数字排序。我在wiki.python.org上找到了一些关于排序的示例,特别是使用lambda
模式的示例,然后我把它们组合起来:
import re
file_names = """ayurveda_1.tif
ayurveda_11.tif
ayurveda_13.tif
ayurveda_2.tif
ayurveda_20.tif
ayurveda_22.tif""".split('\n')
num_re = re.compile('_(\d{1,2})\.')
file_names.sort(
key=lambda fname: int(num_re.search(fname).group(1))
)
有更好的方法吗?