Python 多维list 排序

在解决LeetCode “1288.删除重复区间”时,需要对N×2的input_list按照如下规则排序:

- 对于input_list的元素u:先按照u[0]升序排列;u[0]相同的,按照u[1]降序排列

解法:

利用list的sort方法,为其设定多个key即可:

intervals = [[1,4],[3,6],[2,8],[3,4]]
intervals.sort(key=lambda u:(u[0], -u[1]))
print(intervals)

[[1, 4], [2, 8], [3, 6], [3, 4]]

key=lambda u: (u[0], -u[1]) 的意义:
- 依次按照u[0]和-u[1]排序,默认是升序,即按照u[0]的升序排序,当u[0]相同时,按照-u[1]的升序排序

猜你喜欢

转载自blog.csdn.net/authorized_keys/article/details/108880112
今日推荐