Мы говорили про map и itertools.starmap, но я тут подумал… Зачем они, если есть замечательные генераторные выражения: Они умеют делать: генераторы, списки list, словари dict и множества set. Поддерживают вложенные циклы для обработки многомерных данных Умеют фильтровать данные, как filter Обладают лаконичным и понятным синтаксисом По-английски они называются в зависимости от типа данных на выходе:…
Метка: уроки программирования
starmap – это не звездная карта!
Встроенная функция map принимает функцию и итерируемый объект, а возвращает тоже итератор, применяя ту функцию к каждому элементу исходного итератора. А, чтобы получить список, мы извлекаем из итератора все значения, приведя его к списку функцией list. Пример map: прибавлятор единички ко всем элементам массива: Что делать, если нужно применить функцию, которая принимает большее количество аргументов?…
Отрезок времени в Python – timedelta
В модуле datatime содержатся классы для работы с датой и временем. В частности часто используются datetime для хранения даты и времени некоторого события и timedelta для хранения интервала времени между каким-то двумя событиями. Удобно работать с datetime и timedelta путем математических операций. 📎 Примеры. Добавить к дате один день, год или отнять 2:20 (функция str…
Деление с остатком преподнесло сюрприз
Деление с остатком – часто используемая операция в программировании. Начиная от классических заданий для начинающих на вычисление минут и секунд: Заканчивая тем, что на остатках построена львиная доля криптографии. Нахождения остатка часто называют modulo (или коротко mod). При делении a на b неполное частное q и остаток r связаны формулой: a = b · q…
Умножение списка на число
Студент Макс узнал, что в Python умножать можно не только числа, но и другие объекты, например, строку на число: «Вау!» — подумал Макс — «А что если умножить список на число?»: Значит можно создать двумерный массив очень кратко и элегантно? Заполнить его: Макс ожидал получить: А вышло: 😯 Как же так?! Дело в том, что…