EasyPython🐍
66 subscribers
590 photos
4 links
Примеры и по Python, которые упростят вам жизнь.
Download Telegram
Добавление вложенных списков

Метод append() может работать и с вложенными списками, а не только с простыми.

Итак, у нас был список nested_list, внутри которого уже были два вложенных списка [[1, 2], [3, 4]].

Простой список добавляется во вложенный список как отдельный одинарный элемент.
Добавление элемента только при выполнении условия

Вы можете добавить условие для использования append(). Если условие выполняется или если условия нет, append() добавляет элемент в конец списка. Всё как обычно.

В этом примере, если temp больше 25, то метод append() добавляет элементы в конец списка numbers. В нашем случае, это 30 и 27.
Строки тоже итерируются

map() использует «дочернюю» функцию на любом объекте, где применим цикл for. Мы можем применять ее к любому итерируемому объекту, даже к strings.

Преобразуем все буквы в заглавные.
Get Method для словаря

Большинство разработчиков используют скобки, чтобы получить значение из словаря. Но сейчас рекомендуется использовать Get method.

При использовании метода скобок выдается ошибка, если ключ отсутствует. С помощью Get method вы получите “None” .
Отличие append() от extend()

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

Таким образом, метод extend() объединяет содержимое двух списков, тогда как метод append() просто добавляет новый элемент в конец списка.

Дело в том, что append() добавляет один элемент, в то время как extend() добавляет все элементы переданного списка поочередно.
Конкатенация списков с использованием append()

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

Результат этого кода — list1 = [1, 2, 3, [4, 5, 6]]. Теперь list2 стал элементом последнего элемента списка list1.
Транспонирование 2d-массива

Этот лайфхак покажет, как выполнить транспонирование 2d-массива с помощью метода zip.
map() + лямбды

Мы можем комбинировать мэппинг с безымянными функциями, чтобы код стал еще короче.

Возведя все элементы списка ls в квадрат, мы получим такой результат.
self() для обращения объекта к себе

В данном случае self позволяет перемножить элементы списка на 2.
Загонка пользовательского ввода

Сотрудничество map(), input() и list() позволит поместить весь пользовательский текст в список. Это может пригодиться при расчете эмоциональной окраски текста, ведь слова предстоит потом возвращать к исходной форме
Недостатки map()

К недостаткам map(), так же как и в случае с filter(), можно отнести «ленивую оценку» (Lazy Evaluation). Создатели языка сделали немало в 3-й версии, чтобы улучшить производительность языка, и потому вместо обработанного объекта по умолчанию нам возвращается ссылка на итератор. Пока мы не обернем ее в list() или другой метод, обработка функцией-дочкой еще не произошла.

Это неплохо на малых оборотах, но на практике, где данные весьма разнообразны, без просмотра результата вероятность ошибок на проде увеличивается: мы просто не увидим потенциальных проблем.
Расчет времени выполнения

Этот простейший “трюк” поможет рассчитать время, необходимое для выполнения программы. Используя time-модуль, вы можете точно узнать, сколько времени требуется программе для выполнения кода.
Классика: Zen of Python от Тима Питерса

Zen of Python — 19 принципов программирования на Python, написанные разработчиком Тимом Питерсом. И единственная «пасхалка», которую официально указали в Руководстве.
Мысли о любви

В дополнение к тому, каким должен быть код, Python любит порассуждать и о любви (и рассказать что любовь — это любовь, а что-то там еще).
Отрицательный индекс

Если вы хотите начать с последнего знака, то воспользуйтесь отрицательным индексом.
Хэши

Хеш — фиксированное целое число, идентифицирующее конкретную величину. Можно ли найти хеш бесконечности или NaN? В Python да.
Типы не для слабонервных

Если проверить справку для types.CodeType, то можно узнать, что на эту тему думает создатель языка.
Никаких фигурных скобок

В Python, в отличие от, например, C, C ++ или Java используются отступы вместо фигурных скобок. И даже если попытаться импортировать их, можно увидеть это.
Целых 4 отсылки на Монти Пайтон

Гвидо ван Россум любит это шоу, и даже в документации указал, что: «Язык назван в честь шоу Би-би-си “Летающий цирк Монти Пайтона” и не имеет никакого отношения к рептилиям. Ссылки на скетчи Монти Пайтон в документации не только разрешены, но и поощряются!». Так что неудивительно, что в самом языке есть несколько отсылок к шоу.