Сортировка списков на основе определенного элемента – 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 Bool и int сравнение и индексирование в списке с булевыми значениями
  • Установка IPython 0.12 на Windows 7 64
  • Перечислите все слова в словаре, начинающиеся с <user input>
  • Как передать элементы кортежей функции в качестве аргументов в python?
  • Python - значения суммы в словаре
  • Вычитание по списку множеств
  • Для двух списков питона той же длины. Как вернуть лучшие совпадения одинаковых значений?
  • Список Python не отражает переменные изменения
  • Возьмите пересечение произвольного количества списков в python
  • Если нарезка не создает копию списка или список (), как я могу получить реальную копию моего списка?
  • Почему Python «Ошибка памяти» с списком `append ()` осталось много ОЗУ
  •  
    Interesting Posts for Van-Lav

    Могу ли я статически связать модули Cython с исполняемым файлом, который встраивает python?

    Как сократить это выражение с помощью регулярного выражения

    Я загружаю файл, используя Python urllib2. Как проверить размер файла?

    Что такое хорошая библиотека компьютерного зрения для Python, которая позволит мне найти лица в видео Flash / HTML5?

    __unicode __ () не возвращает строку

    Оформление метода класса после @property

    Где подходящее место для включения CORS?

    Каков правильный способ использования символов Юникода в регулярном выражении python

    Каков самый простой способ, который не имеет памяти для вывода XML из Python?

    Получить статус VM с помощью Azure Python SDK

    Использование python scipy для соответствия гамма-распределению данных

    AttributeError: объект 'module' не имеет атрибута 'WebSocketApp'

    Распечатайте вывод os.popen () без буферизации в python

    можете ли вы добавить функциональность HTTPS на веб-сервер флипсы python?

    Многократное присвоение и ссылки Python

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