🔢 Секреты использования 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
🕵️ Как узнать, сколько раз встречается элемент в списке? Counter в помощь!
Если вам нужно подсчитать количество повторений элементов в списке, используйте collections.Counter. Это удобный способ работы со словарями частот.
💡 Пример использования:
Результат:
🔥 Зачем это нужно?
Анализ частот слов в тексте
Поиск самых популярных элементов
Оптимизация работы со списками
💡 Как найти самый частый элемент?
Если вам нужно подсчитать количество повторений элементов в списке, используйте collections.Counter. Это удобный способ работы со словарями частот.
💡 Пример использования:
from collections import Counter
numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
counted = Counter(numbers)
print(counted)
Результат:
Counter({4: 4, 3: 3, 2: 2, 1: 1})
🔥 Зачем это нужно?
Анализ частот слов в тексте
Поиск самых популярных элементов
Оптимизация работы со списками
💡 Как найти самый частый элемент?
most_common = counted.most_common(1) # [(4, 4)]
print(most_common)
🔥2
🔢 Как создать список чисел без циклов? range() + list()!
Хотите создать список чисел от 1 до 10 в одну строку? Используйте range() и list()!
💡 Пример использования:
Результат:
🔥 Дополнительно:
💡 Создадим список квадратов чисел:
Результат:
Хотите создать список чисел от 1 до 10 в одну строку? Используйте range() и list()!
💡 Пример использования:
numbers = list(range(1, 11))
print(numbers)
Результат:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
🔥 Дополнительно:
range(1, 11, 2) — шаг 2 (1, 3, 5...)
range(10, 0, -1) — обратный порядок (10, 9, 8...)
💡 Создадим список квадратов чисел:
squares = [x**2 for x in range(1, 11)]
print(squares)
Результат:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Теперь создание списков стало проще и элегантнее! 🚀
🔥1
🔄 Как развернуть словарь (ключи <-> значения)?
Иногда нужно поменять местами ключи и значения в словаре. В Python это делается в одну строку с помощью dictionary comprehension!
💡 Пример использования:
Результат:
🔥 Где это полезно?
При обработке данных (например, если значения уникальны, можно быстро искать по ним)
В задачах, где нужно изменить представление данных
💡 А если в значениях есть дубликаты?
Результат:
Теперь у нас ключи с несколькими значениями в списках! 🔥
Иногда нужно поменять местами ключи и значения в словаре. В Python это делается в одну строку с помощью dictionary comprehension!
💡 Пример использования:
data = {"apple": 1, "banana": 2, "cherry": 3}
reversed_data = {v: k for k, v in data.items()}
print(reversed_data)
Результат:
{1: 'apple', 2: 'banana', 3: 'cherry'}
🔥 Где это полезно?
При обработке данных (например, если значения уникальны, можно быстро искать по ним)
В задачах, где нужно изменить представление данных
💡 А если в значениях есть дубликаты?
data = {"a": 1, "b": 2, "c": 1}
reversed_data = {}
for key, value in data.items():
reversed_data.setdefault(value, []).append(key)
print(reversed_data)
Результат:
{1: ['a', 'c'], 2: ['b']}
Теперь у нас ключи с несколькими значениями в списках! 🔥
🎲 Как выбрать случайный элемент из списка? random.choice()!
Вместо сложных random.randint() + индексов, можно использовать random.choice() для быстрого выбора случайного элемента!
💡 Пример использования:
Результат (пример):
💡 Пример выбора нескольких случайных элементов:
Теперь случайный выбор в Python стал проще! 🚀
Вместо сложных random.randint() + индексов, можно использовать random.choice() для быстрого выбора случайного элемента!
💡 Пример использования:
import random
fruits = ["🍎 яблоко", "🍌 банан", "🍒 вишня", "🍉 арбуз"]
random_fruit = random.choice(fruits)
print(random_fruit)
Результат (пример):
🍌 банан
🔥 Дополнительно:
random.choices() — выбирает несколько случайных элементов (с повторениями)
random.sample() — выбирает уникальные элементы
💡 Пример выбора нескольких случайных элементов:
random_fruits = random.choices(fruits, k=2)
print(random_fruits)
Теперь случайный выбор в Python стал проще! 🚀
❤1🔥1
🔢 Как быстро создать список чисел? range() + list()!
Если вам нужно создать список чисел от X до Y, не обязательно писать циклы! Используйте range().
💡 Пример использования:
Результат:
🔥 Дополнительные возможности:
range(1, 11, 2) — создаст список [1, 3, 5, 7, 9] (с шагом 2)
range(10, 0, -1) — создаст список [10, 9, 8, ..., 1] (обратный порядок)
💡 Пример использования range() в for:
Теперь создавать последовательности проще! 🚀
Если вам нужно создать список чисел от X до Y, не обязательно писать циклы! Используйте range().
💡 Пример использования:
numbers = list(range(1, 11)) # Числа от 1 до 10
print(numbers)
Результат:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
🔥 Дополнительные возможности:
range(1, 11, 2) — создаст список [1, 3, 5, 7, 9] (с шагом 2)
range(10, 0, -1) — создаст список [10, 9, 8, ..., 1] (обратный порядок)
💡 Пример использования range() в for:
for i in range(5):
print(f"🔥 Итерация {i}")
Теперь создавать последовательности проще! 🚀
👍1🔥1
📝 Как соединить список строк в одну строку? join() в помощь!
Вместо сложных циклов используйте join() для быстрого объединения списка строк в одну.
💡 Пример использования:
Результат:
🔥 Дополнительные возможности:
", ".join(words) → объединяет с запятой
"".join(words) → объединяет без пробелов
💡 Пример создания CSV-строки:
Результат:
Теперь работа со строками стала удобнее! ✨
Вместо сложных циклов используйте join() для быстрого объединения списка строк в одну.
💡 Пример использования:
ьwords = ["Python", "—", "лучший", "язык!"]
sentence = " ".join(words)
print(sentence)
Результат:
Python — лучший язык!
🔥 Дополнительные возможности:
", ".join(words) → объединяет с запятой
"".join(words) → объединяет без пробелов
💡 Пример создания CSV-строки:
data = ["Имя", "Возраст", "Город"]
csv_row = ";".join(data)
print(csv_row)
Результат:
Имя;Возраст;Город
Теперь работа со строками стала удобнее! ✨
🔍 Как проверить тип переменной? type() vs isinstance()
В Python есть два способа узнать, какого типа переменная:
1️⃣ type() показывает точный тип объекта.
2️⃣ isinstance() проверяет, является ли объект экземпляром класса (включая наследников).
💡 Пример использования type():
💡 Пример использования isinstance():
🔥 Когда использовать isinstance()?
Когда важно учитывать наследование классов.
Когда нужно проверить несколько типов сразу.
⚠ Важно: type(x) == int не учитывает наследников, а isinstance(x, int) — учитывает.
В Python есть два способа узнать, какого типа переменная:
1️⃣ type() показывает точный тип объекта.
2️⃣ isinstance() проверяет, является ли объект экземпляром класса (включая наследников).
💡 Пример использования type():
x = 42
print(type(x)) # <class 'int'>
💡 Пример использования isinstance():
x = 42
print(isinstance(x, int)) # True
print(isinstance(x, (float, int))) # True (проверка нескольких типов)
🔥 Когда использовать isinstance()?
Когда важно учитывать наследование классов.
Когда нужно проверить несколько типов сразу.
⚠ Важно: type(x) == int не учитывает наследников, а isinstance(x, int) — учитывает.
❤1🔥1
🧙♂️ Как найти самый частый элемент в списке? Counter()!
Если нужно найти, какой элемент встречается чаще всего, используйте collections.Counter().
💡 Пример использования:
Результат:
🔥 Как это работает?
Counter(numbers) создаёт словарь частот.
most_common(1) возвращает самый частый элемент и его количество.
💡 А если нужно несколько самых частых элементов?
Если нужно найти, какой элемент встречается чаще всего, используйте collections.Counter().
💡 Пример использования:
from collections import Counter
numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
counter = Counter(numbers)
most_common = counter.most_common(1) # Найти самый частый элемент
print(most_common)
Результат:
[(4, 4)]
🔥 Как это работает?
Counter(numbers) создаёт словарь частот.
most_common(1) возвращает самый частый элемент и его количество.
💡 А если нужно несколько самых частых элементов?
print(counter.most_common(2)) # Два самых частых числа
👍1🔥1
🔁 Как "распаковать" список в переменные?
В Python можно легко распаковать элементы списка или кортежа прямо в переменные — это удобно и читаемо!
💡 Пример использования:
Результат:
🔥 Дополнительно:
Можно использовать * для сбора "лишних" элементов:
Такой приём отлично подходит для разбора аргументов, строк, данных из API и др. 📦
В Python можно легко распаковать элементы списка или кортежа прямо в переменные — это удобно и читаемо!
💡 Пример использования:
data = ["Alice", 25, "Developer"]
name, age, profession = data
print(name)
print(age)
print(profession)
Результат:
Alice
25
Developer
🔥 Дополнительно:
Можно использовать * для сбора "лишних" элементов:
a, *middle, b = [1, 2, 3, 4, 5]
print(a) # 1
print(middle) # [2, 3, 4]
print(b) # 5
Такой приём отлично подходит для разбора аргументов, строк, данных из API и др. 📦