🧠 List vs Set: Где искать быстрее?
Представьте, у вас есть массив из 1 миллиона чисел, и нужно проверить, есть ли в нем число 999999.
Что использовать: список (
Сравнение сложности:
▪️ List (in operator): Сложность . Python перебирает элементы по одному, пока не найдет нужное. Если список огромный, это долго.
▪️ Set (in operator): Сложность (в среднем). Множества реализованы как хеш-таблицы. Python вычисляет хеш числа и сразу "прыгает" в нужную ячейку памяти.
Тест скорости:
🚀 Итог: Если вам нужно часто проверять наличие элемента в большой коллекции - всегда конвертируйте её в set.
📲 Мы в MAX
Подписывайтесь на канал 👉@pythonofff
Представьте, у вас есть массив из 1 миллиона чисел, и нужно проверить, есть ли в нем число 999999.
Что использовать: список (
list) или множество (set)?Сравнение сложности:
▪️ List (in operator): Сложность . Python перебирает элементы по одному, пока не найдет нужное. Если список огромный, это долго.
▪️ Set (in operator): Сложность (в среднем). Множества реализованы как хеш-таблицы. Python вычисляет хеш числа и сразу "прыгает" в нужную ячейку памяти.
Тест скорости:
import time
data_list = list(range(10_000_000))
data_set = set(data_list)
# Поиск в списке
start = time.time()
print(9999999 in data_list)
print(f"List time: {time.time() - start:.5f} sec")
# Поиск в множестве
start = time.time()
print(9999999 in data_set)
print(f"Set time: {time.time() - start:.5f} sec")
🚀 Итог: Если вам нужно часто проверять наличие элемента в большой коллекции - всегда конвертируйте её в set.
📲 Мы в MAX
Подписывайтесь на канал 👉@pythonofff
👍4❤2
🕵️♂️ Дебаг без боли: секрет f-строк
Признавайтесь, вы тоже часто пишете такие принты, чтобы проверить значение переменной?
Это работает, но писать каждый раз название переменной в кавычках — долго и лениво. В Python есть супер-фишка для f-строк, о которой многие забывают. Просто добавьте знак равно
Как это выглядит:
Вывод:
🔥 Почему это круто: Python сам подставляет имя переменной и её значение. Экономит кучу времени при поиске багов!
Знали про этот трюк? Ставьте ❤️, если уже пользуетесь!
📲 Мы в MAX
Подписывайтесь на канал 👉@pythonofff
Признавайтесь, вы тоже часто пишете такие принты, чтобы проверить значение переменной?
name = "Alex"
age = 25
print("name =", name)
print("age =", age)
Это работает, но писать каждый раз название переменной в кавычках — долго и лениво. В Python есть супер-фишка для f-строк, о которой многие забывают. Просто добавьте знак равно
= после имени переменной внутри фигурных скобок!Как это выглядит:
name = "Alex"
age = 25
print(f"{name=}")
print(f"{age=}")
Вывод:
name='Alex'
age=25
🔥 Почему это круто: Python сам подставляет имя переменной и её значение. Экономит кучу времени при поиске багов!
Знали про этот трюк? Ставьте ❤️, если уже пользуетесь!
📲 Мы в MAX
Подписывайтесь на канал 👉@pythonofff
👍6