- key=lambda x:(x[0], x[1])
在python中隐函数常用于对数组进行排序,上述隐函数的含义指的是优先基于数组元素中的第一位进行排序,若遇到相等的情况,则基于第二位元素进行排序
a = [[2, 3], [5, 2], [4, 7], [4, 6], [4, 8]]
a.sort(key=lambda x:(x[0], x[1]))
print(a)
[[2, 3], [4, 6], [4, 7], [4, 8], [5, 2]]
- key=lambda x:(x[0], -x[1])
类比1中的含义,基于元组(x[0], -x[1])排序,如果是升序排序,可以理解为优先基于第一位元素升序排序,遇到相同的元素,则对第二位降序排序,理论上都是升序,但是由于-x[1]对第二位元素进行了取负,原先大的数变成了小的数,因此映射到原数组就是对第二位降序了
a = [[2, 3], [5, 2], [4, 7], [4, 6], [4, 8]]
a.sort(key=lambda x:(x[0], -x[1]))
print(a)
[[2, 3], [4, 8], [4, 7], [4, 6], [5, 2]]