Найти в Дзене
Секреты и алгоритмы

Секреты и алгоритмы

Интересные алгоритмы и приемы программирования на python
подборка · 4 материала
1096 читали · 3 года назад
NaN, None, NA: отличия и секреты [часть 1]
В python отсутствие значений у переменной/объекта может отражаться как NaN, <NA> или None. Попробуем разобраться, чем они различаются и зачем нужны (см. табл. 1). None - это объект класса NoneType, который встроен в python и может использоваться без импорта иных библиотек. None показывает отсутствие значения или состояния у объекта. Поскольку это объект нечислового типа, его обработка замедляет работу кода при больших объемах данных по сравнению с nan и NA. Пример проверки переменной на отсутствие значения (None) для типа str (текстовое значение)...
3 года назад
Удаление дубликатов в списках. Сборник рецептов и алгоритмов.
Список (list)- это популярная структура для хранения данных, которая относится к изменяемому типу в языке python. Подробнее о типах данных можно прочитать здесь. При работе со списками иногда возникает потребность в удалении дублирующих значений. Какие варианты возможны? 1. Сохранение одного экземпляра каждого объекта и удаление повторений. 1.1. Сохранение последнего дубликата и удаление предшествующих Пример: [3,1,3,2,9,9] ->[1,3,2,9] 1.2. Сохранение первого дубликата и удаление последующих Пример: [3,1,3,2,9,9] ->[3,1,2,9] 2...
351 читали · 3 года назад
Числа Фибоначчи. Подборка алгоритмов на python
Эта шутка про числа Фибоначчи хуже, чем две предыдущие вместе взятые... Кто такой Фибоначчи? Леона́рдо Пиза́нский (ок. 1170 - 1250 гг, г. Пиза, Италия) — первый крупный математик средневековой Европы. Фибоначчи (итал. Fibonacci) - это прозвище Леонардо, сокращение от двух слов «filius Bonacci» (сын Боначчи). Числа Фибоначчи   0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, … Последовательность, в которой каждое последующее число равно сумме двух предыдущих...
100 читали · 3 года назад
Секрет функций обратного вызова: замена значений без циклов
Часто при работе с данными необходимо выполнять замены значений по списку или словарю. И обычно первое решение, которое приходит на ум, - это замена с использованием циклов. Но, оказывается, есть и др. способ провернуть эту задачу. В показанном примере необходимо подсчитать сумму очков за каждую букву введенного слова пользователем. Слово может быть введено на русском или английском языках. Очки распределяются от 1 до 10 в зависимости от буквы. Допустим, есть некий список букв и очков, которые начисляются за каждую из них (назовем его "карта значений")...