Python_sort使用

Python_sort使用

获取列表排序的索引结果

1
2
3
list1 = [2,1,4,3,5]
list1 = sorted(range(len(list1)), key=lambda k:list1[k])
print(list1)
[1, 0, 3, 2, 4]

多条件列表排序

多重文件夹路径排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
path_list = [
'/home/data/1/a/img_1.jpg',
'/home/data/1/a/img_2.jpg',
'/home/data/1/a/aux_img_1.jpg',
'/home/data/1/a/aux_img_2.jpg',
'/home/data/1/b/img_1.jpg',
'/home/data/1/b/img_2.jpg',
'/home/data/1/b/aux_img_1.jpg',
'/home/data/2/a/img_1.jpg',
'/home/data/2/b/img_1.jpg'
]

# 按照<1,2>, <a,b> , <len(image_name)>三组条件进行排序
sort_path_list = sorted(path_list, key=lambda x: (
int(os.path.basename(os.path.dirname(os.path.dirname(x)))),
os.path.basename(os.path.dirname(x)),
len(os.path.basename(x))
)

字典排序

1
sort_path_dict = sorted(candidate.items, key=lambda x: x[0])