Загружаем изображение…

🔮 Магия Множеств: set круче списков



Представьте задачу: у вас есть два списка подписчиков - из Instagram и из Telegram.

1. Нужно найти тех, кто подписан и там, и там.
2. Нужно найти тех, кто есть в Telegram, но нет в Instagram.

❌ Способ новичка (Циклы):

insta = ["max", "leo", "kate"]
tg = ["leo", "alex", "kate"]

common = []
for user in insta:
if user in tg:
common.append(user)


Долго, скучно, медленно (O(n*m)).

✅ Способ Профи (Множества):
Множества в Python работают как круги Эйлера в математике.

# Создаем множества
insta = {"max", "leo", "kate"}
tg = {"leo", "alex", "kate"}

# 1. Пересечение (&) - кто есть ВЕЗДЕ
print(insta & tg)
# Вывод: {'leo', 'kate'}

# 2. Разность (-) - кто есть в TG, но НЕТ в Insta
print(tg - insta)
# Вывод: {'alex'}

# 3. Симметричная разность (^) - уникальные для каждой платформы
print(insta ^ tg)
# Вывод: {'max', 'alex'}


💡 И самый главный трюк:
Как быстро убрать дубликаты из списка? Просто превратите его в множество!

ids = [1, 2, 2, 3, 3, 3]
unique_ids = list(set(ids))
print(unique_ids) # [1, 2, 3]


🚀 Скорость: Поиск в множестве (val in my_set) происходит почти мгновенно (), в отличие от списка, который нужно перебирать целиком.

Используйте силу математики, чтобы писать меньше кода! 🧠

Подписывайтесь на канал 👉 @python_of
Просмотры: 8 315
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти