У меня есть список списковСортировка списков по второму наименьшему элементу
lists=[["John",8,7,9],["Sarah",5,3,8],["David",4,3,9],["Alice",5,4,7]]
, который я хочу, чтобы отсортировать их наименьший элемент, но если этот элемент является такой же, я хочу, чтобы выполнить вторичную сортировку по второй мельчайший элемент. До сих пор я сортируется по первому критерию:
lists.sort(key=lambda x: min(x))
, который, когда я звоню lists
возвращается
[["Sarah",5,3,8],["David",4,3,9],["Alice",5,4,7],["John",8,7,9]]
и теперь я хочу поставить ["David",4,3,9]
впереди ["Sarah",5,3,8]
, но я не знаю, как обратитесь ко второму наименьшему элементу. Заранее спасибо!
В Python 3 это вызывает ошибку неупорядоченных типов. Вам может потребоваться вернуть лямбда: 'lists.sort (key = lambda x: sorted (x [1:]))' – ayhan
@ayhan: Спасибо, что привлекли его к сведению. Я проверил его на Python2. Сегодня нужно знать что-то новое –