小编典典

如何在Python中使用自定义谓词排序

python

我有一个列表列表,例如[[1,2,"s"],[1,5,"e"],...]第3个值始终为se。我sort()该如何调用以使列表基于以下内容进行排序:

  1. 第一个索引
  2. 如果第一个索引相同,则排在第s一位。

谢谢


阅读 190

收藏
2021-01-20

共1个答案

小编典典

编写一个自定义key函数。

def sort_key(list_):
    if list_[2] == 's':
        return (list_[0], 0)
    return (list_[0], 1)

test_list = [[1, 2, 's'], [1, 5, 'e'], [2, 4, 'e'], [2, 3, 's']]
test_list.sort(key=sort_key)
# [[1, 2, 's'], [1, 5, 'e'], [2, 3, 's'], [2, 4, 'e']]
2021-01-20