Привет, программисты! Сегодня я поделюсь с вами десятью умными хитростями Python, которые помогут вам писать код быстрее и эффективнее. А если вы не программист, то просто читайте и смейтесь над нашими страданиями. Поехали!
enumerate()Забыли, как считать? Не беда! Вместо того, чтобы мучиться с индексами, используйте enumerate(). Это как волшебная палочка для ваших циклов!
fruits = ['яблоко', 'банан', 'вишня']
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
Примечание: Не путайте с enumerate(), когда вы пытаетесь посчитать количество кофе, выпитого за день.
zip() — лучший друг для параллельных итерацийКогда вам нужно объединить списки, используйте zip(). Это как сватовство для ваших массивов!
names = ['Алиса', 'Боб', 'Чарли']
scores = [90, 85, 88]
for name, score in zip(names, scores):
print(f"{name} получил {score} баллов.")
Внимание: Не пытайтесь использовать zip() для объединения людей. Это может привести к неприятным последствиям!
Списковые включения — это как фастфуд для ваших списков: быстро, удобно и калорийно!
squares = [x**2 for x in range(10)]
print(squares)
Но помните: слишком много фастфуда может привести к проблемам с производительностью!
defaultdict из collectionsКогда вам нужно создать словарь, который не будет ругаться на отсутствующие ключи, используйте defaultdict. Это как ваш друг, который всегда готов вас поддержать!
from collections import defaultdict
word_count = defaultdict(int)
for word in ['apple', 'banana', 'apple']:
word_count[word] += 1
print(word_count)
Пока ваш друг не начнет заказывать пиццу с ананасами…
Counter для подсчетаЕсли вам нужно посчитать количество элементов, Counter — это ваш лучший друг. Он считает быстрее, чем вы можете сказать "где мой кофе?"
from collections import Counter
words = ['apple', 'banana', 'apple']
count = Counter(words)
print(count)
Не путайте с "счетчиком" в спортзале. Он не считает ваши отжимания!
with для работы с файламиwith — это как ваш личный секретарь, который заботится о том, чтобы файлы закрывались, даже если вы забыли!
with open('file.txt', 'r') as f:
data = f.read()
Не пытайтесь использовать with для управления своими эмоциями. Это не сработает!
Функции высшего порядка — это как матрешки: функции внутри функций. Вот как можно использовать map() и filter()!
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
even = list(filter(lambda x: x % 2 == 0, numbers))
Не пытайтесь запутать свою бабушку, объясняя ей функции высшего порядка!
Генераторы — это как ленивые программисты: они делают работу только тогда, когда это действительно нужно.
def generate_numbers():
for i in range(10):
yield i**2
for number in generate_numbers():
print(number)
Не путайте с генераторами случайных чисел. Они могут вас обмануть!
f-строкиf-строки — это как магия для строк. Вы можете вставлять переменные прямо в текст!
name = "Мир"
greeting = f"Привет, {name}!"
print(greeting)
Не пытайтесь использовать f-строки для общения с вашим котом. Он не поймет!
All images are taken from the Pixabay.comБольше полезных статей 4adm.in