✧ Множества в Python ✧

🎯 Теория: Множества в Python

Множества как элементальные реакции - каждый элемент уникален, а их комбинации дают интересные результаты!

Создание множеств:

# Создание из списка (дубликаты автоматически удаляются)
team_elements = {"Пиро", "Гидро", "Пиро", "Электро"}
print(team_elements)  # {"Пиро", "Гидро", "Электро"}

# Пустое множество
available_domains = set()

# Создание из строки
chars = set("Кокоми")  # {'К', 'о', 'к', 'м', 'и'}

Основные операции:

# Добавление и удаление
team_elements.add("Дендро")      # Добавить элемент
team_elements.remove("Пиро")     # Удалить (вызовет ошибку если нет)
team_elements.discard("Гео")     # Удалить (без ошибки)

# Проверка наличия
has_hydro = "Гидро" in team_elements    # True

# Количество элементов
element_count = len(team_elements)       # 3

Операции над множествами:

# Два набора персонажей
team1 = {"Ху Тао", "Е Лань", "Венти"}
team2 = {"Венти", "Чжун Ли", "Е Лань"}

# Объединение множеств (все уникальные персонажи)
all_chars = team1 | team2   # {"Ху Тао", "Е Лань", "Венти", "Чжун Ли"}

# Пересечение (общие персонажи)
common = team1 & team2      # {"Венти", "Е Лань"}

# Разность (уникальные для первой команды)
unique_to_team1 = team1 - team2  # {"Ху Тао"}

# Симметрическая разность (уникальные для каждой команды)
unique_chars = team1 ^ team2  # {"Ху Тао", "Чжун Ли"}

⚔️ Задача: Анализ Спиральной Бездны

Вы собираете команды для Спиральной Бездны. Нужно проанализировать составы и резонансы.

Команды и элементы:

# Первая половина
team1 = {"Ху Тао", "Син Цю", "Чжун Ли", "Альбедо"}
elements1 = {"Пиро", "Гидро", "Гео", "Гео"}

# Вторая половина
team2 = {"Гань Юй", "Венти", "Мона", "Диона"}
elements2 = {"Крио", "Анемо", "Гидро", "Крио"}

Создайте функции для проверки:

💡 Подсказка:

# Все элементы в игре
all_elements = {
    "Пиро", "Гидро", "Анемо", "Электро", 
    "Дендро", "Крио", "Гео"
}

# Проверка резонанса
def check_resonance(elements: set) -> list:
    resonances = []
    if len(elements) < len(set(elements)):
        # Есть повторяющиеся элементы...
⟵ Словари Исключения ⟶