🔄 zip() — идеальный способ для параллельного обхода нескольких списков
Функция zip() помогает вам одновременно работать с несколькими коллекциями. Она "пакует" их элементы по парам, что удобно, когда нужно итеративно проходить по двум или больше спискам.
💡 Пример использования:
Результат:
🎯 Преимущество: Не нужно использовать индексы для доступа к элементам! zip() "параллельно" соединяет элементы, делая код более читаемым и компактным.
Функция zip() помогает вам одновременно работать с несколькими коллекциями. Она "пакует" их элементы по парам, что удобно, когда нужно итеративно проходить по двум или больше спискам.
💡 Пример использования:
names = ["Alice", "Bob", "Charlie"]
scores = [85, 90, 78]
for name, score in zip(names, scores):
print(f"{name} scored {score}")
Результат:
Alice scored 85
Bob scored 90
Charlie scored 78
🎯 Преимущество: Не нужно использовать индексы для доступа к элементам! zip() "параллельно" соединяет элементы, делая код более читаемым и компактным.
🔥1
🚀 Крутая фишка enumerate() — избавляемся от лишних счетчиков!
Часто нужно перебирать список и знать индекс каждого элемента. Вместо того чтобы вручную заводить i = 0 и увеличивать его в цикле, используйте enumerate()!
💡 Пример использования:
Результат:
🔥 Почему это удобно?
Код становится чище и короче
Можно сразу задать нужный стартовый индекс (start=1)
Часто нужно перебирать список и знать индекс каждого элемента. Вместо того чтобы вручную заводить i = 0 и увеличивать его в цикле, используйте enumerate()!
💡 Пример использования:
fruits = ["🍎 Apple", "🍌 Banana", "🍒 Cherry"]
for index, fruit in enumerate(fruits, start=1):
print(f"{index}. {fruit}")
Результат:
1. 🍎 Apple
2. 🍌 Banana
3. 🍒 Cherry
🔥 Почему это удобно?
Код становится чище и короче
Можно сразу задать нужный стартовый индекс (start=1)
🔥2
🎲 Случайный выбор из списка с random.choice()
Если нужно выбрать случайный элемент из списка, не нужно писать сложные циклы. Просто используйте random.choice()!
💡 Пример использования:
Результат (например):
🎯 Дополнительно:
random.choices() позволяет выбрать несколько элементов сразу
random.sample() выбирает без повторений
Используйте random и пусть Python делает выбор за вас! 🎰
Если нужно выбрать случайный элемент из списка, не нужно писать сложные циклы. Просто используйте random.choice()!
💡 Пример использования:
import random
movies = ["🎬 Inception", "🎥 Interstellar", "📽 The Matrix", "🎞 The Dark Knight"]
random_movie = random.choice(movies)
print(f"Сегодня стоит посмотреть: {random_movie}")
Результат (например):
Сегодня стоит посмотреть: 🎞 The Dark Knight
🎯 Дополнительно:
random.choices() позволяет выбрать несколько элементов сразу
random.sample() выбирает без повторений
Используйте random и пусть Python делает выбор за вас! 🎰
🔥3
⏳ Как засечь время выполнения кода? timeit в помощь!
Хотите узнать, сколько времени занимает выполнение кода? Python предлагает удобный модуль timeit, который точно измеряет производительность.
💡 Пример использования:
Результат (пример):
🔥 Зачем использовать timeit?
Точнее, чем time.time(), так как выполняет код многократно
Удобен для оптимизации алгоритмов
Хотите узнать, сколько времени занимает выполнение кода? Python предлагает удобный модуль timeit, который точно измеряет производительность.
💡 Пример использования:
import timeit
code = """
result = [x**2 for x in range(1000)]
"""
execution_time = timeit.timeit(code, number=1000)
print(f"Время выполнения: {execution_time:.5f} секунд")
Результат (пример):
Время выполнения: 0.08523 секунд
🔥 Зачем использовать timeit?
Точнее, чем time.time(), так как выполняет код многократно
Удобен для оптимизации алгоритмов
❤2🔥1
🔥 Расширенный print() — настраивай вывод под себя!
Функция print() в Python может намного больше, чем просто выводить текст. Можно менять разделитель и конец строки!
💡 Пример 1: Задаем кастомный разделитель (sep)
Результат:
💡 Пример 2: Изменяем конец строки (end)
Результат:
🎯 Когда это полезно?
sep удобно использовать для форматирования вывода
end помогает избежать лишних переводов строк
Теперь print() — это не просто вывод, а гибкий инструмент! 🚀
Функция print() в Python может намного больше, чем просто выводить текст. Можно менять разделитель и конец строки!
💡 Пример 1: Задаем кастомный разделитель (sep)
print("Python", "is", "awesome", sep="🔥")
Результат:
Python🔥is🔥awesome
💡 Пример 2: Изменяем конец строки (end)
print("Первая строка", end=" 😎 ")
print("Вторая строка")
Результат:
Первая строка 😎 Вторая строка
🎯 Когда это полезно?
sep удобно использовать для форматирования вывода
end помогает избежать лишних переводов строк
Теперь print() — это не просто вывод, а гибкий инструмент! 🚀
🔥1
🛠 Как проверить, занята ли нужная переменная? locals() в помощь!
Иногда нужно узнать, существует ли переменная в текущей области видимости. Для этого можно использовать locals()!
💡 Пример использования:
Результат:
🔥 Полезно, когда:
Нужно избежать ошибок при работе с переменными
Отлаживаете код и хотите проверить, какие переменные уже созданы
Иногда нужно узнать, существует ли переменная в текущей области видимости. Для этого можно использовать locals()!
💡 Пример использования:
name = "Alice"
if "name" in locals():
print("Переменная 'name' существует!")
else:
print("Переменная 'name' не найдена.")
Результат:
Переменная 'name' существует!
🔥 Полезно, когда:
Нужно избежать ошибок при работе с переменными
Отлаживаете код и хотите проверить, какие переменные уже созданы
🔥2❤1
📂 Как быстро узнать размер объекта в памяти? sys.getsizeof()!
Хотите узнать, сколько памяти занимает переменная? В Python это можно сделать с помощью sys.getsizeof()!
💡 Пример использования:
Результат (пример):
📌 Интересный факт:
Пустой список занимает 56 байт, даже если в нем нет элементов!
sys.getsizeof() учитывает служебную информацию, поэтому иногда реальный размер данных больше.
Используйте это для оптимизации кода и экономии памяти! 🚀
Хотите узнать, сколько памяти занимает переменная? В Python это можно сделать с помощью sys.getsizeof()!
💡 Пример использования:
import sys
a = 10
b = "Hello, world!"
c = [1, 2, 3, 4, 5]
print(sys.getsizeof(a)) # Размер переменной a
print(sys.getsizeof(b)) # Размер строки b
print(sys.getsizeof(c)) # Размер списка c
Результат (пример):
28 # Размер int
62 # Размер строки
96 # Размер списка
📌 Интересный факт:
Пустой список занимает 56 байт, даже если в нем нет элементов!
sys.getsizeof() учитывает служебную информацию, поэтому иногда реальный размер данных больше.
Используйте это для оптимизации кода и экономии памяти! 🚀
🌐 Как "пропускать" элементы в цикле с помощью continue?
Когда вам нужно пропустить текущую итерацию цикла и перейти к следующей, не завершая весь цикл, можно использовать ключевое слово continue. Это полезно, например, когда хотите исключить определённые элементы без прерывания работы цикла.
💡 Пример использования:
Результат:
🔥 Когда это удобно?
Если нужно исключить некоторые условия без завершения цикла
Позволяет сократить код, не используя вложенные if конструкции
Когда вам нужно пропустить текущую итерацию цикла и перейти к следующей, не завершая весь цикл, можно использовать ключевое слово continue. Это полезно, например, когда хотите исключить определённые элементы без прерывания работы цикла.
💡 Пример использования:
for i in range(10):
if i % 2 == 0:
continue # Пропускаем чётные числа
print(i)
Результат:
1
3
5
7
9
🔥 Когда это удобно?
Если нужно исключить некоторые условия без завершения цикла
Позволяет сократить код, не используя вложенные if конструкции
🔥2
🎨 Цветной вывод с использованием модуля colorama
Хотите сделать вывод вашего кода более ярким и заметным? В Python это можно сделать с помощью модуля colorama, который добавляет цвет к выводу в консоли!
💡 Пример использования:
Результат:
Текст "Это текст красного цвета!" будет красным
Текст "А это — зелёный!" будет зелёным
🎯 Когда это полезно?
Удобно для выделения ошибок или важных сообщений в логах
Применяется для создания более красочных выводов в консольных приложениях
Хотите сделать вывод вашего кода более ярким и заметным? В Python это можно сделать с помощью модуля colorama, который добавляет цвет к выводу в консоли!
💡 Пример использования:
from colorama import init, Fore
init() # Инициализация
print(Fore.RED + "Это текст красного цвета!")
print(Fore.GREEN + "А это — зелёный!")
Результат:
Текст "Это текст красного цвета!" будет красным
Текст "А это — зелёный!" будет зелёным
🎯 Когда это полезно?
Удобно для выделения ошибок или важных сообщений в логах
Применяется для создания более красочных выводов в консольных приложениях
👍2
🔢 Секреты использования sorted() — сортировка с кастомной логикой!
Функция sorted() позволяет сортировать список не только по умолчанию, но и с помощью собственной логики сортировки через параметр key.
💡 Пример использования с ключом key:
Результат:
🔥 Как это работает?
sorted() сортирует элементы с использованием функции, переданной в key. В примере мы сортируем по длине каждого слова.
Вы можете использовать любую логику для сортировки, например, сортировать по обратному порядку, по первой букве или числовым значениям.
Функция sorted() позволяет сортировать список не только по умолчанию, но и с помощью собственной логики сортировки через параметр key.
💡 Пример использования с ключом key:
# Список слов
words = ["banana", "apple", "cherry", "blueberry"]
# Сортируем по длине слова
sorted_words = sorted(words, key=len)
print(sorted_words)
Результат:
['apple', 'banana', 'cherry', 'blueberry']
🔥 Как это работает?
sorted() сортирует элементы с использованием функции, переданной в key. В примере мы сортируем по длине каждого слова.
Вы можете использовать любую логику для сортировки, например, сортировать по обратному порядку, по первой букве или числовым значениям.
🔥2❤1
🐍 lambda — краткие анонимные функции в одну строку
Иногда нужна функция, но ради одной операции не хочется писать def. В таких случаях помогает lambda — анонимные функции в одну строку!
💡 Пример использования:
Результат:
🔥 Где полезно?
Когда нужно передать функцию в map(), filter(), sorted()
Для компактного кода без создания лишних функций
💡 Пример с sorted() и lambda:
Результат:
Иногда нужна функция, но ради одной операции не хочется писать def. В таких случаях помогает lambda — анонимные функции в одну строку!
💡 Пример использования:
square = lambda x: x ** 2
print(square(5)) # 25
Результат:
25
🔥 Где полезно?
Когда нужно передать функцию в map(), filter(), sorted()
Для компактного кода без создания лишних функций
💡 Пример с sorted() и lambda:
words = ["banana", "apple", "cherry", "blueberry"]
sorted_words = sorted(words, key=lambda x: x[-1]) # Сортировка по последней букве
print(sorted_words)
Результат:
['banana', 'apple', 'blueberry', 'cherry']
🔥2
🔎 Фильтрация данных с filter()
Если нужно отфильтровать элементы списка по какому-то условию, используйте filter(). Эта функция возвращает только те элементы, которые соответствуют заданному критерию.
💡 Пример использования:
Результат:
🔥 Когда использовать?
Когда нужно убрать ненужные элементы из списка
Работает быстрее, чем for + if
Если нужно отфильтровать элементы списка по какому-то условию, используйте filter(). Эта функция возвращает только те элементы, которые соответствуют заданному критерию.
💡 Пример использования:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
Результат:
[2, 4, 6, 8, 10]
🔥 Когда использовать?
Когда нужно убрать ненужные элементы из списка
Работает быстрее, чем for + if
🔥1
🎭 "Распаковка" переменных с * и **
В Python можно легко разбивать и собирать элементы с помощью * и **!
💡 Пример распаковки списка:
Результат:
💡 Пример сбора остатка элементов:
🔥 Где использовать?
Удобно для работы со списками переменной длины
Позволяет передавать параметры в функции (*args, **kwargs)
В Python можно легко разбивать и собирать элементы с помощью * и **!
💡 Пример распаковки списка:
numbers = [1, 2, 3]
a, b, c = numbers # Разбиваем список на переменные
print(a, b, c)
Результат:
1 2 3
💡 Пример сбора остатка элементов:
first, *middle, last = [10, 20, 30, 40, 50]
print(first) # 10
print(middle) # [20, 30, 40]
print(last) # 50
🔥 Где использовать?
Удобно для работы со списками переменной длины
Позволяет передавать параметры в функции (*args, **kwargs)
🔥1
🚀 set() — убираем дубликаты из списка за одну строку!
В Python есть быстрый способ удалить дубликаты из списка — просто преобразовать его в set(), а затем обратно в list().
💡 Пример использования:
Результат:
🔥 Плюсы метода:
Очень быстрый способ удаления дубликатов
Порядок элементов не сохраняется, но можно обойти это с dict.fromkeys()
💡 Пример с сохранением порядка:
Результат:
В Python есть быстрый способ удалить дубликаты из списка — просто преобразовать его в set(), а затем обратно в list().
💡 Пример использования:
numbers = [1, 2, 2, 3, 4, 4, 5, 6, 6]
unique_numbers = list(set(numbers))
print(unique_numbers)
Результат:
[1, 2, 3, 4, 5, 6]
🔥 Плюсы метода:
Очень быстрый способ удаления дубликатов
Порядок элементов не сохраняется, но можно обойти это с dict.fromkeys()
💡 Пример с сохранением порядка:
numbers = [1, 2, 2, 3, 4, 4, 5, 6, 6]
unique_numbers = list(dict.fromkeys(numbers))
print(unique_numbers)
Результат:
[1, 2, 3, 4, 5, 6]
🎲 Как перемешать список? Используем random.shuffle()!
Если нужно случайно перемешать элементы списка, используйте random.shuffle(). Это удобно в играх, тестах или генерации случайных последовательностей.
💡 Пример использования:
Результат (пример):
🔥 Когда это полезно?
Перемешивание карт в игре 🃏
Рандомизация вопросов в тесте
Перемешивание данных перед ML-моделью
Теперь ваш Python-код станет ещё интереснее и мощнее! 🚀
Если нужно случайно перемешать элементы списка, используйте random.shuffle(). Это удобно в играх, тестах или генерации случайных последовательностей.
💡 Пример использования:
import random
cards = ["♠ A", "♣ K", "♦ Q", "♥ J"]
random.shuffle(cards)
print(cards)
Результат (пример):
['♣ K', '♥ J', '♦ Q', '♠ A']
🔥 Когда это полезно?
Перемешивание карт в игре 🃏
Рандомизация вопросов в тесте
Перемешивание данных перед ML-моделью
Теперь ваш Python-код станет ещё интереснее и мощнее! 🚀
🔥2
⚡ Слияние словарей в одну строку (| в Python 3.9+)
Раньше, чтобы объединить два словаря, приходилось использовать .update() или dict(). Но в Python 3.9+ появился удобный оператор |!
💡 Пример использования:
Результат:
🔥 Что важно знать?
Если ключи совпадают, берётся значение из второго словаря
Работает только в Python 3.9+
💡 А если нужно обновить первый словарь, а не создавать новый?
Теперь dict в Python стал ещё удобнее! 🚀
Раньше, чтобы объединить два словаря, приходилось использовать .update() или dict(). Но в Python 3.9+ появился удобный оператор |!
💡 Пример использования:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = dict1 | dict2 # Новый способ объединения словарей
print(merged_dict)
Результат:
{'a': 1, 'b': 3, 'c': 4}
🔥 Что важно знать?
Если ключи совпадают, берётся значение из второго словаря
Работает только в Python 3.9+
💡 А если нужно обновить первый словарь, а не создавать новый?
dict1 |= dict2
print(dict1)
Теперь dict в Python стал ещё удобнее! 🚀
🔥4
📏 Как узнать длину самой длинной строки в списке?
Если у вас есть список строк, и вам нужно найти самую длинную, можно сделать это в одну строку!
💡 Пример использования:
Результат:
🔥 Как это работает?
map(len, words) применяет len() ко всем строкам
max() выбирает самое большое значение
💡 Хотите узнать самую длинную строку?
Результат:
Теперь находить самые длинные строки в списках проще простого! 🎯
Если у вас есть список строк, и вам нужно найти самую длинную, можно сделать это в одну строку!
💡 Пример использования:
words = ["apple", "banana", "cherry", "blueberry"]
longest_length = max(map(len, words))
print(longest_length)
Результат:
9
🔥 Как это работает?
map(len, words) применяет len() ко всем строкам
max() выбирает самое большое значение
💡 Хотите узнать самую длинную строку?
longest_word = max(words, key=len)
print(longest_word)
Результат:
blueberry
Теперь находить самые длинные строки в списках проще простого! 🎯
🔥4
🎭 Работа с "невидимыми" символами через strip()
При обработке строк бывает нужно удалить пробелы, переводы строк и другие невидимые символы. В Python это легко сделать с помощью strip(), lstrip() и rstrip().
💡 Пример использования:
Результат:
💡 Можно убирать и другие символы, не только пробелы!
Результат:
Теперь ваш текст всегда будет чистым! 🧼🚀
При обработке строк бывает нужно удалить пробелы, переводы строк и другие невидимые символы. В Python это легко сделать с помощью strip(), lstrip() и rstrip().
💡 Пример использования:
text = " Привет, мир! \n"
clean_text = text.strip() # Убираем пробелы и переводы строк по краям
print(f"'{clean_text}'") # Проверим результат
Результат:
'Привет, мир!'
🔥 Дополнительно:
lstrip() — убирает пробелы только слева
rstrip() — убирает пробелы только справа
💡 Можно убирать и другие символы, не только пробелы!
text = "---Python---"
clean_text = text.strip("-") # Убираем все "-"
print(clean_text)
Результат:
Python
Теперь ваш текст всегда будет чистым! 🧼🚀
🔥2
📦 Как узнать все методы и атрибуты объекта? dir() в помощь!
Иногда нужно посмотреть, какие методы и атрибуты есть у объекта, особенно если вы работаете с новым модулем или библиотекой.
💡 Пример использования:
Результат (частично):
🔥 Полезно, когда:
Вы изучаете новый класс или модуль
Хотите узнать, какие методы доступны у объекта
💡 Хотите посмотреть только методы без служебных атрибутов?
Иногда нужно посмотреть, какие методы и атрибуты есть у объекта, особенно если вы работаете с новым модулем или библиотекой.
💡 Пример использования:
print(dir(str)) # Выведет все методы строк
Результат (частично):
['capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', ...]
🔥 Полезно, когда:
Вы изучаете новый класс или модуль
Хотите узнать, какие методы доступны у объекта
💡 Хотите посмотреть только методы без служебных атрибутов?
methods = [m for m in dir(str) if not m.startswith("__")]
print(methods)
🔄 Как перевернуть строку или список в одну строку?
В Python можно развернуть строку или список с помощью срезов [::-1]. Это быстрый и лаконичный способ!
💡 Переворачиваем строку:
Результат:
💡 Переворачиваем список:
Результат:
🔥 Почему это круто?
Работает быстро и без циклов
Можно использовать для проверки палиндромов
💡 Пример проверки палиндрома:
В Python можно развернуть строку или список с помощью срезов [::-1]. Это быстрый и лаконичный способ!
💡 Переворачиваем строку:
text = "Python"
reversed_text = text[::-1]
print(reversed_text)
Результат:
nohtyP
💡 Переворачиваем список:
pythonКопироватьРедактироватьnumbers = [1, 2, 3, 4, 5]
reversed_numbers = numbers[::-1]
print(reversed_numbers)
Результат:
[5, 4, 3, 2, 1]
🔥 Почему это круто?
Работает быстро и без циклов
Можно использовать для проверки палиндромов
💡 Пример проверки палиндрома:
word = "level"
is_palindrome = word == word[::-1]
print(is_palindrome) # True
🔥2
🎯 Используем any() и all() для проверки условий в списке
Функции any() и all() позволяют быстро проверить выполняется ли хотя бы одно или все условия в списке.
💡 Пример использования any() (хотя бы одно True):
Результат:
💡 Пример использования all() (все True):
Результат:
🔥 Когда это полезно?
Упрощает проверки в if (без циклов)
Работает с любыми итерируемыми объектами
Теперь ваш код будет чище и эффективнее! 🚀
Функции any() и all() позволяют быстро проверить выполняется ли хотя бы одно или все условия в списке.
💡 Пример использования any() (хотя бы одно True):
numbers = [0, 0, 1, 0]
if any(numbers):
print("В списке есть хотя бы одно ненулевое число!")
Результат:
В списке есть хотя бы одно ненулевое число!
💡 Пример использования all() (все True):
numbers = [1, 2, 3, 4, 5]
if all(n > 0 for n in numbers):
print("Все числа положительные!")
Результат:
Все числа положительные!
🔥 Когда это полезно?
Упрощает проверки в if (без циклов)
Работает с любыми итерируемыми объектами
Теперь ваш код будет чище и эффективнее! 🚀
🔥1