Сортировка списков на основе определенного элемента – Python

Как отсортировать список списков на основе первого элемента списков в Python?

>>> list01 = (['a','b','c'],['b','a','d'],['d','e','c'],['a','f','d']) >>> map(sorted, list01) [['a', 'b', 'c'], ['a', 'b', 'd'], ['c', 'd', 'e'], ['a', 'd', 'f']] >>> sorted(map(sorted, list01)) [['a', 'b', 'c'], ['a', 'b', 'd'], ['a', 'd', 'f'], ['c', 'd', 'e']] 

4 Solutions collect form web for “Сортировка списков на основе определенного элемента – Python”

Сортировка () Python может получать функцию для сортировки. Если вы хотите отсортировать по первому элементу в каждом подсписке, вы можете использовать следующее:

 >>> lst = [[2, 3], [1, 2]] >>> sorted(lst, key=lambda x: x[0]) [[1, 2], [2, 3]] 

Дополнительную информацию о sorted () см. В официальных документах .

 from operator import itemgetter sorted(list01, key=itemgetter(0)) 
 >>> sorted(list01, key=lambda l: l[0]) [['a', 'b', 'c'], ['a', 'f', 'd'], ['b', 'a', 'd'], ['d', 'e', 'c']] 

Это то, что вы имеете в виду?

Помимо передачи key функции в sorted (как показано в более ранних ответах), вы также можете передать ей функцию cmp (сравнения) в Python2 следующим образом:

 sorted(list01, cmp=lambda b, a: cmp(b[0], a[0])) 

Вывод вышеуказанного выражения будет таким же, как и при использовании key функции.

Хотя они удалили аргумент cmp в Python3 из sorted , https://docs.python.org/3.3/library/functions.html#sorted , и использование key функции является единственным выбором.

  • Преобразование списка python в словарь
  • два списка для Json Format в python
  • Как заменить номера с порядком в списке (python)
  • Фильтрация и преобразование списков Python
  • Почему хеш-списки Python не используют идентификатор?
  • Сделать словарь из списка с помощью python
  • Разделение списка на отдельные части длины в специальном состоянии
  • Python с использованием перечисления внутри списка
  •  
    Interesting Posts for Van-Lav

    Невозможно выполнить render_to_file в pygal более одного раза в Spyder

    Обнаружение узлов сетки с использованием OpenCV (или использование чего-то другого)

    Назначение нескольких ядер программе Python

    Есть ли API-интерфейс Python для рисования диаграмм (которые используют строки для подключения соответствующих значений между двумя списками)

    Извлечение определенных символов из строки

    Python tkinter привязывает колесико мыши к полосе прокрутки

    Запуск интерактивного Bash с помощью popen и выделенного TTY Python

    Как создать профиль скрипта?

    Ошибка Kivi: Ошибка атрибута: объект «Нет типа» не имеет атрибута «текст»

    PySpark: как преобразовать столбец массива (т.е. список) в вектор

    Временная серия Detrend Flux с нелинейным трендом

    API базы данных: как работать с несколькими, где условие в Python

    Невозможно передать значение тензора заполнителя

    Spark – Вложенная операция RDD

    ImportError: нет модуля с именем «matplotlib» – использование среды Contacflow Anaconda

    Python - лучший язык программирования в мире.