Источник: Nuances of Programming
Python — язык программирования без лишнего синтаксиса. Читаемость и простота дизайна — две основные причины его огромной популярности.
Как говорится в дзене Python:
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Вот почему стоит помнить некоторые распространенные приемы Python, которые помогают улучшить дизайн кода. Они избавят вас от необходимости просматривать Stack Overflow каждый раз, когда вам что-то нужно.
Эти приемы пригодятся в вашей ежедневной практике.
1. Переворачивание строки
Фрагмент ниже переворачивает строку, используя операцию среза.
2. Заглавные буквы
Следующий фрагмент используется для преобразования строки в регистр с заглавными буквами с применением метода title() класса string.
3. Поиск уникальных элементов в строке
Этот фрагмент можно использовать для поиска уникальных элементов в строке с помощью свойства, что все элементы в наборе уникальны.
4. Вывод строки или списка n раз
Можно использовать умножение (*) со строками или списками; умножать их можно любое количество раз.
5. Генератор списков
Генератор списков предоставляет элегантный способ создания списков на базе других списков.
Следующий фрагмент создает новый список, умножая каждый элемент предыдущего списка на два.
6. Обмен значениями между двумя переменными
Python упрощает обмен значениями между двумя переменными без использования другой переменной.
7. Разбиение строки на список подстрок
Мы можем разбить строку на список подстрок, используя метод split() класса string. В качестве аргумента также можно передать разделитель, которым вы разбиваете строку.
8. Объединение списка строк в одну строку
Метод join() объединяет список строк, заданный как аргумент, в одну строку. В нашем случае мы объединили их, используя в качестве разделителя запятую.
9. Проверка строки на палиндром
Мы уже рассмотрели, как перевернуть строку. Таким образом палиндромы становятся простейшей программой в Python.
10. Подсчет частотности элементов в списке
Мой любимый способ посчитать частотность элемента в списке — это использование класса Counter.
Счетчик Python отслеживает частотность каждого элемента в контейнере. Counter() возвращает словарь с элементами в качестве ключей и частотностью в качестве значений.
Мы также используем функцию most_common() , чтобы получить most_frequent element в списке.
11. Анаграммы
Интересное применение класса Counter — это поиск анаграмм. Анаграмма — это слово или фраза, сформированные перестановкой букв другого слова или фразы.
Если объекты Counter двух строк эквивалентны, значит, они являются анаграммами.
12. Блок try-except-else
Обработку ошибок в Python легко выполнить, используя блок try/except. Можно добавить к блоку состояние else — оно запускается, когда в блоке try нет исключений.
Если вам нужно запустить что-то независимо от исключений, используйте finally.
13. Функция enumerate для получения пар индекс-значение
Следующий скрипт использует функцию enumerate для перебора значений в списке вместе с их индексами.
14. Проверка использования памяти объектом
Следующий скрипт используется для проверки использования памяти объектом.
15. Объединение двух словарей
В Python 2 для соединения двух словарей мы использовали метод update(). В Python 3.5 процесс еще проще.
В скрипте ниже объединены два словаря. В случае пересечения используются значения из второго словаря.
16. Время, затраченное на выполнение части кода
Следующий фрагмент использует библиотеку time для расчета времени, затраченного на исполнение части кода.
17. Сглаживание списка списков
Иногда вы не уверены в глубине вложенности списка, вам просто нужно отобразить все элементы в одном списке.
Вот как можно это сделать:
18. Выборка из списка
Следующий фрагмент генерирует n случайных выборок из указанного списка, используя библиотеку random.
Мне порекомендовали библиотеку secrets для генерации случайных выборок для криптографии. Следующий фрагмент работает только на Python 3.
19. Список цифр
Следующий фрагмент преобразует целое число в список цифр.
20. Проверка уникальности
Следующая функция проверит все элементы в списке на уникальность.
Читайте также:
Читайте нас в телеграмме и vk
Перевод статьи Chaitanya Baweja: 20 Python Snippets You Should Learn Today