Функция
any()
возвращает True
, если хотя бы один элемент итерируемого объекта истинный.Удобна для быстрых проверок в списках и генераторах
numbers = [1, 3, 5, 8]
if any(n % 2 == 0 for n in numbers):
print("Есть чётное число")
📌 Делает код короче и понятнее, чем ручные циклы с проверками
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция
iter()
делает любой итерируемый объект (список, строку, словарь) итератором, которым можно управлять вручную.nums = [10, 20, 30]
it = iter(nums)
print(next(it)) # 10
print(next(it)) # 20
print(next(it)) # 30
📌 Полезно для пошагового перебора и создания собственных итераторов
Please open Telegram to view this post
VIEW IN TELEGRAM
Объект
slice
позволяет задавать срезы с шагом и использовать их многократно, вместо написания вручную.data = [0, 1, 2, 3, 4, 5, 6]
s = slice(1, 6, 2) # от 1 до 5 с шагом 2
print(data[s]) # [1, 3, 5]
📌 Удобно, когда нужно часто брать одинаковые фрагменты из списков, строк или других последовательностей
Please open Telegram to view this post
VIEW IN TELEGRAM
Counter из модуля collections автоматически считает количество вхождений элементов в коллекции.
from collections import Counter
fruits = ["яблоко", "банан", "яблоко", "груша", "банан", "яблоко"]
count = Counter(fruits)
print(count) # Counter({'яблоко': 3, 'банан': 2, 'груша': 1})
print(count.most_common(1)) # [('яблоко', 3)]
📌 Удобно для анализа данных, статистики и поиска самых частых элементов
Please open Telegram to view this post
VIEW IN TELEGRAM
get()
у словарей в Python и когда его применять?Метод
get()
возвращает значение по ключу, если он существует, и безопасно возвращает заданное значение по умолчанию, если ключ не найден. Это предотвращает ошибки при доступе к несуществующим ключам.user = {"name": "Alice", "age": 25}
print(user.get("age")) # ➜ 25
print(user.get("city", "N/A")) # ➜ N/A
get() удобно использовать при работе с данными из API, JSON, конфигурациями или базами, где некоторые ключи могут отсутствовать. Это делает код надёжнее и чище, чем использование прямого доступа через []
Please open Telegram to view this post
VIEW IN TELEGRAM
enumerate()
добавляет индекс к каждому элементу итерируемого объекта.Чаще всего используется в циклах вместо range(len(...)).
fruits = ["яблоко", "банан", "груша"]
for i, fruit in enumerate(fruits, start=1):
print(i, fruit)
1 яблоко
2 банан
3 груша
📌 Код становится чище и читаемее, особенно при работе со списками и строками
Please open Telegram to view this post
VIEW IN TELEGRAM
В Python объекты делятся на изменяемые (mutable) и неизменяемые (immutable).
Это фундамент — от него зависят поведение списков, кортежей и даже ошибки с «копиями»
a = [1, 2, 3]
b = a
b.append(4)
print(a) # [1, 2, 3, 4]
print(a is b) # True
b
не копия, а ссылка на тот же объект в памяти. Изменяемые типы (list
, dict
, set
) ведут себя именно так. А вот неизменяемые (int
, str
, tuple
) при изменении создают новый объект.📌 Понимание мутабельности — ключ к тому, чтобы не ломать данные «по ссылке» и писать предсказуемый код
Please open Telegram to view this post
VIEW IN TELEGRAM