Рубрики
Без рубрики

Как сортировать и вернуть список Python в одной строке?

Чтобы сортировать и вернуть список Python в одной строке кода, используйте метод отсортированного (списка), который возвращает новый список отсортированных элементов. Он копирует только ссылки на исходные элементы, чтобы возвращенный список не глубоко, а неглубокая копия. Давайте погрузимся в задачу, чтобы узнать больше … Как сортировать и вернуть список Python в одной строке? Подробнее “

Автор оригинала: Chris.

Чтобы сортировать и вернуть список Python в одной строке кода, используйте Сортировано (список) Метод, который возвращает новый список отсортированных элементов. Он копирует только ссылки на исходные элементы, чтобы возвращенный список не глубоко, а неглубокая копия.

Давайте погрузимся в задачу, чтобы узнать о более подробных деталях и альтернативах. Все не всегда просто. Изучая различные методы, которые решают это, вы станете лучшим кодером!

Проблема : Учитывая Список сопоставимых объектов, таких как целые числа или плавает Отказ Есть ли путь к Сортируйте список и вернуть отсортированный список в Одна линия Python код?

Пример : Скажем, у вас есть следующий список.

a = [4, 2, 1, 3]

Вы хотите отсортировать этот список и вернуть результат в одну строку. Если вы используете list.sort () Метод, возвращаемое значение – Нет :

print(a.sort())
# None

Возвращаемое значение list.sort () Метод это Нет , Но многие кодеры ожидать, что это будет отсортирован список. Поэтому они удивлены, узнав, что их переменные содержат Нет Тип, а не отсортированный список.

Однако возвращение Нет имеет идеальный смысл для list.sort () метод. Почему? Потому что вы называете метод в списке объект И это изменяет этот точный объект списка. Он не создает нового списка – в памяти не будет нового объекта списка.

Итак, как сортировать и вернуть список в одной строке кода Python? Как правило, всегда есть несколько способов выполнить одно и то же в Python. Давайте погрузимся в разные способы достичь этого!

Вот быстрый обзор методов, адресованных в этой статье:

Упражнение : Измените список, чтобы сортировать, добавив отрицательные поплавки. Это все еще работает?

Теперь вы сейчас узнаете больше о каждом из методов.

Метод 1: сортируется ()

Самый простой способ выполнить эту задачу состоит в том, чтобы позвонить в встроенный Python отсортировано () Функция, которая принимает и возвращает новый список с отсортированными элементами.

a = [4, 2, 1, 3]

# Method 1: sorted()
print(sorted(a))

отсортировано () Функция генерирует новый отсортированный список, который введен в Печать () Функция, которая печатает отсортированный список в оболочку. Выход – это отсортированный список:

[1, 2, 3, 4]

Этот метод является самым питонным. Но есть ли альтернативы?

Метод 2: list.sort () + Темнарный оператор

отсортировано () Метод оставляет исходный список без изменений. Но что, если вы хотите отсортировать оригинальный список и получите этот исходный список в качестве вывода, который вы можете назначить переменной?

Ответ прост: используйте комбинацию list.sort () Метод и Тернарный оператор Действительно

a = [4, 2, 1, 3]

# Method 2: list.sort() + ternary
print(a if a.sort() else a)
# [1, 2, 3, 4]

Вы должны понимать две концепции: (1) list.sort () и (2) Темнарный оператор:

  1. list.sort () Метод сортирует элементы списка на месте восходящей способности. Чтобы настроить поведение сортировки по умолчанию, используйте дополнительный ключ аргумент, передавая Функция Это возвращает сопоставимое значение для каждого элемента в списке.
  2. Тернарный оператор х если с остальными y состоит из трех операндов х , C . и y . Это возвращает х Если логическое выражение C . оценивает Правда Отказ В противном случае, если выражение C . оценивает Ложь Торговый оператор возвращает альтернативу y Отказ

Красивая вещь, что одноклассник Печать (A, если a.sort () еще а) Изменяет оригинальный список и возвращает его сразу. Как оно работает?

Объяснение : Во-первых, A.SORT () Метод называется, чтобы проверить, какая «ветка» тройного оператора следует посетить. Возвращаемое значение A.SORT () всегда будет Нет Отказ Нет Значение автоматически преобразуется в логическое значение Ложь Отказ Таким образом, Ternary Operator всегда возвращает объект списка, упомянутый переменной А Отказ

Обратите внимание, что единственная цельей Тернарного оператора – позаботиться о A.SORT () Метод перед возвратом значения А – Чтобы убедиться, что он отсортирован!

Если вы распечатаете оригинальный список в оболочку, вы увидите, что теперь его отсортировано:

>>> print(a)
[1, 2, 3, 4]

Метод 3: Объединение нескольких утверждений в одной строке с запятой

Альтернатива цепляется с получением высказываний с точкимидоном ; к односилизовать фрагмент кода Python. Эта стратегия работает с плоскими программами Python без, возможных вложенных блоков:

a = [4, 2, 1, 3]

# Method 3: semicolon
a.sort(); print(a)
# [1, 2, 3, 4]

Если вам нужно сортировать список Python и распечатайте его возвращаемое значение к оболочку, например, поскольку вы запускаете эту команду из командной строки или терминала – вы можете использовать эту отличную стратегию.

Вы можете узнать больше о том, как One-Linerize любой программы Python в моем следующем видео:

Python One-LiLERS Книга: сначала мастер по одной линии!

Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.

Python One-listers научит вас, как читать и писать “одноклассники”: Краткие заявления полезной функциональности упакованы в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.

Пять главных глав Книги покрывают (1) Советы и трюки, (2) Регулярные выражения, (3) Машинное обучение, (4) Основные темы науки о данных и (5) Полезные алгоритмы.

Подробные объяснения одноклассников вводят Ключевые компьютерные науки концепции и повысить ваши кодировки и аналитические навыки . Вы узнаете о продвинутых функциях Python, такие как Понимание списка С нарезка , лямбда функции , Регулярные выражения , карта и Уменьшить Функции и Срежительные задания Отказ

Вы также узнаете, как:

  • Используйте структуры данных для Решить реальные проблемы , как использовать булевую индексацию, чтобы найти города с загрязнением выше среднего
  • Использовать Numpy Основы такие как массив , форма , Ось , Тип , вещание , Расширенная индексация , нарезка , сортировка , поиск , агрегация и статистика
  • Рассчитайте Basic статистика многомерных массивов данных и алгоритмы K-означает для немецкого обучения
  • Создать больше Усовершенствованные регулярные выражения Использование группировка и названные группы , Отрицательный взгляд , Сбежавшие персонажи , Пробелы, наборы персонажейотрицательные персонажи наборы ), а Жадные/негреюные операторы
  • Понять широкий ассортимент Темы компьютерных наук , в том числе Анаграммы , Палиндромы , Supersets , перестановки , факториалы , простые числа , Фибоначчи Числа, преподавание , поиск и Алгоритмическая сортировка

К концу книги вы будете знать, как Напишите Python на самых изысканных И создайте краткие, красивые кусочки «Python Art» в просто одной линии.

Получите свой Python One-Liners на Amazon !!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/how-to-sort-and-return-a-python-list-in-one-line/”