"10 Умных Хитростей Python: Библиотеки и Лайфхаки

10 Умных Хитростей Python: Библиотеки и Лайфхаки
Привет, программисты! Если вы когда-нибудь чувствовали, что ваш код — это как спагетти, запутанное в 10 узлах, то этот пост для вас! Давайте разберем 10 умных хитростей Python, которые помогут вам стать настоящим магом кода. И не забудьте, что смех — это лучший отладчик!
1. Используйте enumerate()
Зачем изобретать велосипед, когда можно просто использовать enumerate()? Он добавляет счетчик к вашему итератору, и вы не будете снова и снова спрашивать себя: "А какой индекс у этого элемента?"
fruits = ['яблоко', 'банан', 'вишня']
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
Потому что кто же не хочет быть нумерованным?
2. Список в списке с помощью list comprehensions
Зачем писать много строк кода, когда можно сделать это в одну? Список в списке — это как матрешка, только в Python!
squares = [x**2 for x in range(10)]
Идеально для тех, кто любит краткость!
3. Используйте zip()
Собираете данные из нескольких списков? zip() — ваш лучший друг. Это как сводить два списка на свидание!
names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
for name, score in zip(names, scores):
print(f"{name}: {score}")
Не забудьте их развести, если не сработает!
4. defaultdict из collections
Если вам нужно работать с словарями, но вы не хотите каждый раз проверять, существует ли ключ, defaultdict — это ваш спаситель!
from collections import defaultdict
d = defaultdict(int)
d['apple'] += 1
print(d['apple']) # 1
Потому что даже словари имеют право на свои слабости!
5. Counter для подсчета
Нужен подсчет элементов в списке? Counter из collections делает это за вас. Это как ваш личный статистик, но без кофе!
from collections import Counter
fruits = ['яблоко', 'банан', 'яблоко', 'вишня']
count = Counter(fruits)
print(count)
Теперь вы можете точно знать, кто здесь главный!
6. with для работы с файлами
Работа с файлами? Используйте with, чтобы не беспокоиться о закрытии файла. Это как автоматическое закрытие двери за вами, когда вы выходите из комнаты!
with open('file.txt', 'r') as f:
contents = f.read()
И никаких сквозняков!
7. lambda для анонимных функций
Когда вам нужно быстро создать функцию, используйте lambda. Это как фастфуд для кода!
add = lambda x, y: x + y
print(add(3, 5))
Не забудьте, что фастфуд не всегда полезен!
8. map() и filter()
Для тех, кто любит функциональный стиль, map() и filter() — это как швейцарский нож для обработки списков!
squared = list(map(lambda x: x**2, range(10)))
evens = list(filter(lambda x: x % 2 == 0, range(10)))
Потому что иногда вам просто нужно отфильтровать ненужное!
9. itertools для итераций
Если вы хотите, чтобы ваши итерации были более "итеративными", загляните в itertools. Это как волшебная палочка для ваших циклов!
import itertools
for combination in itertools.combinations(['A', 'B', 'C'], 2):
print(combination)
Идеально для тех, кто любит эксперименты!
10. Пакеты и виртуальные окружения
Не забывайте о пакетах и виртуальных окружениях! Это как иметь отдельные комнаты для каждого проекта, чтобы не путаться с игрушками!

Upvoted! Thank you for supporting witness @jswit.