1 列表元素的排序有两种方式:sort()函数、sorted()内置函数;并且不能对元素类型混合的列表进行排序。
(1)sort()函数默认从小到大进行升序排序,指定reverse=True时,进行降序排序。
(2)sorted()内置函数默认从小到大进行升序排序,指定reverse=True时,进行降序排序。但是其会生成一个新的列表,原列表保持不变。
list1 = [55,22,11,44,33]
list1.sort(reverse=True) # 倒序排序
sorted(list1) # 两种方法的使用方式不同
2. 列表生成式能够生成具有一定规律的列表。语法格式为:[列表元素的表达式(通常由自定义变量表示) for 自定义变量 in range(start, stop)]
list1 = [i*2+1 for i in range(1,5)]
print(list1) # list1为[3,5,7,9]
3.同时使用列表生成式与排序,实现对文件夹内特定文件名的寻找与排序
import os
list_dir_all = os.listdir(filename)
# filename为文件夹名称,os.listdir()方法寻找该文件夹下的所有文件,返回为一个list,list会进行初步的排序
list_dir = [i for i in list_dir_all if i.split(sep='.')[2] == 'NDVI']
# 筛选文件通过‘.’拆分后,第三位为'NDVI'的文件名,存储到list_dir中
list_dir.sort(key=lambda i:i.split(sep='.')[1])
# 对list_dir进行排序,文件通过‘.’拆分后,通过第二位进行排序