Дополнительно
Как сортировать (список/кортеж) списков/кортежей элемент в данном индексируют?
У меня есть некоторые данные в список списков или список кортежей, как это:
data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]
И я хочу сортировку по 2-й элемент в подмножестве. Смысл, сортировка по 2,5,8, где 2
с (1,2,3)
, 5
с (4,5,6)
. Что такое общий способ сделать это? Я должен хранить кортежи или списки в моем списке?
573
10
или:
Я просто хочу добавить к Стивену'ы ответ если вы хотите отсортировать массив от высокого до низкого, другим способом, кроме как в комментарии выше, это просто добавить эту строку:
и результат будет выглядеть следующим образом:
Для сортировки по нескольким критериям, а именно, например, второй и третий элементы в кортеже, давайте
и так что же такое лямбда-выражение, которое возвращает кортеж, описывающий приоритетом, например
Стефан'ы ответ я'd использовать. Для полноты, здесь'ы ДСУ (украсить-вроде-отмены оформления) образец с списочные включения:
Или, более лаконично:
Как отмечается в Python для указания сортировки, это было ненужным, так как в Python 2.4, когда ключевые функции стали доступны.
Для того, чтобы отсортировать список кортежей
(<слово>, но <граф> В)
, длясчитать
в порядке убывания и слова в алфавитном порядке:Я использую этот метод:
и это дает мне результат:
Без лямбды: в <предварительно>деф sec_elem(ы): возвращение с[1] </пре>
в <предварительно>сортировка(данных, ключ=sec_elem) </пре>
`itemgetter () - это несколько быстрее, чем лямбда-тап: тап[1], но увеличение относительно невелика (от 10 до 25 процентов).
(Оболочкой IPython сессии)
@Стивен 'ы ответ в точку! Вот пример для наглядности
Кричать на Готов плеер одна болельщиков! =)
ключевой
- это функция, которая будет вызвана для того чтобы преобразовать коллекция'ы предметы для сравнения.. как метод compareto метод в Java.Параметр, передаваемый ключ должен быть то, что является отзывной. Здесь, использование
лямбда
создает анонимную функцию (которая является отзывной). Синтаксис лямбда-это лямбда-слово, за которым следует имя повторяемое затем один блок кода.Ниже пример, мы сортировать список кортежей, который содержит информацию Абт время определенного события и имя актера.
Мы сортируем этот список по времени наступления события - это 0-й элемент кортежа.
Примечание - ы.сортировать([СС [ключ [обратный]]])` сортирует элементы s в месте
Сортировка кортежей достаточно прост: