list.sort
функция может принимать аргумент key
, который определяет, как вычислить ключ сортировки массива. Вы можете передать в лямбда-выражение так, чтобы второй элемент внутреннего списка был выбран для сортировки list
.
Пример -
>>> lst = [[1,2],[3,4],[5,1]]
>>> lst.sort(key = lambda x: x[1])
>>> lst
[[5, 1], [1, 2], [3, 4]]
Для сортировки в порядке убывания, использовать reverse
параметр функции сортировки и установить его на True
.
Пример -
>>> lst = [[1,2],[3,4],[5,1]]
>>> lst.sort(key = lambda x: x[1], reverse=True)
>>> lst
[[3, 4], [1, 2], [5, 1]]
Вы также можете использовать operator.itemgetter(1)
, чтобы получить второй элемент внутреннего списка сортировки, 1
в качестве параметра Я указывает, какой элемент для выбора.
Пример -
>>> import operator
>>> lst = [[1,2],[3,4],[5,1]]
>>> lst.sort(key = operator.itemgetter(1))
>>> lst
[[5, 1], [1, 2], [3, 4]]
>>> lst.sort(key = operator.itemgetter(1) ,reverse=True) # descending order.
>>> lst
[[3, 4], [1, 2], [5, 1]]
Во-первых, обеспечить действительный Python. Во-вторых, сначала ищите. например. см. http://stackoverflow.com/questions/29870209/sorting-list-within-list-in-python – user2864740