JavaRush /Курсы /Модуль 1: Python Core /Множества (Set)

Множества (Set)

Модуль 1: Python Core
6 уровень , 0 лекция
Открыта

1.1 Знакомство со множествами

Определение множества пришло в программирование из математики. Множество — это группа уникальных элементов. Эта особенность делает множества мощным инструментом в программировании, с множеством уникальных возможностей.

Что такое группа уникальных элементов? Представьте себе «Список 10 самых популярных имен в стране». Сама суть этого определения подразумевает, что каждое имя в списке уникально и не повторяется. Повторяются только его носители.

Или представьте себе коллекцию марок. Вы собираете по одной марке из каждой страны. Ваша коллекция — это множество марок, где каждая марка уникальна, и вы не хотите, чтобы у вас было две одинаковые марки. Вот это и есть идея множества.

Основные характеристики множеств

Уникальность

Множество — это группа уникальных предметов. Представьте, что у вас есть список номеров клиентов, которых нужно обзвонить. В этом списке каждый номер должен быть уникальным, чтобы никому не надоедали повторяющимися звонками.

Неупорядоченность

Множества не заботятся о порядке предметов. Это как если бы вы складывали фрукты в корзину, не беспокоясь о том, что находится на дне, а что на верху. Главное, что все фрукты в корзине разные.

Изменяемость

Вы можете добавлять и убирать предметы из множества. Это как если бы вы могли в любой момент положить в корзину новый фрукт или убрать оттуда тот, который вам больше не нужен.

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

Над множествами, как над большими группами элементов, можно проводить различные операции. Вот пример 4 самых распространенных:

  • Объединение (Union): Результат объединения двух множеств включает все уникальные элементы из обоих множеств.
  • Пересечение (Intersection): Результат пересечения двух множеств включает только те элементы, которые присутствуют в обоих множествах.
  • Разность (Difference): Результат разности двух множеств включает элементы, которые присутствуют в первом множестве, но отсутствуют во втором.
  • Симметрическая разность (Symmetric Difference): Результат симметрической разности двух множеств включает элементы, которые присутствуют в одном из множеств, но отсутствуют в обоих одновременно.

Вот хорошая картинка, которая поможет запомнить суть операций:

Объединение (Union):

Результат объединения двух множеств А и B включает все уникальные элементы из обоих множеств.

Пересечение (Intersection):

Результат пересечения двух множеств включает только те элементы, которые присутствуют в обоих множествах.

Разность (Difference):

Результат разности двух множеств включает элементы, которые присутствуют в первом множестве, но отсутствуют во втором.

Симметрическая разность (Symmetric Difference):

Результат симметрической разности двух множеств включает элементы, которые присутствуют либо в одном, либо в другом множестве, но отсутствуют в обоих одновременно.

1.3 Особенности множеств

Множества знамениты не только своими свойствами, но и набором специфических операций над ними.

Уникальные коллекции

Представьте, что вы собираете автографы знаменитостей. Вы хотите, чтобы в вашей коллекции каждый автограф был уникальным. Это значит, что если у вас уже есть автограф любимого актера, вы не будете собирать второй такой же. Ваша коллекция автографов — это множество уникальных автографов.

Удаление дубликатов

Допустим, у вас есть список гостей на вечеринку, но вы случайно записали некоторых людей дважды. Чтобы убедиться, что каждый гость приглашен только один раз, вы можете создать множество гостей. В этом множестве автоматически останутся только уникальные имена, а дубликаты исчезнут.

Проверка на наличие

Представьте, что вы играете в игру, где нужно собирать различные виды сокровищ. В каждом сундуке может быть одно из множества сокровищ. Если вы хотите узнать, нашли ли вы уже определенное сокровище, вы просто проверяете, есть ли оно в вашем множестве сокровищ.

Объединение групп

Представьте, что у вас есть два списка друзей: один из школы, другой из спортклуба. Если вы хотите узнать, со сколькими уникальными людьми вы знакомы, вы можете объединить эти два списка в одно множество. Таким образом, у вас будет список всех уникальных друзей без повторений.

Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Tatiana Уровень 22
15 июня 2025
Что-то подобное есть в Objective-C: Intersection, union and etc.
Cheshir Уровень 9
2 июня 2025
Симметрическая разность (Symmetric Difference): Результат симметрической разности двух множеств включает элементы, которые присутствуют либо в одном, либо в другом множестве, но отсутствуют в обоих одновременно. Но присутствуют в обоих одновременно, да?
Екатерина Уровень 22
5 июня 2025
в результате сим. разности будут элементы, которые присутствовали раньше в A + присутствовали раньше в В, а те эл-ты, которые одновременно и в A и в B присутствуют в результат сим. разности не попадут
Peter Уровень 12
3 сентября 2025
Нет. Например. A{1,2} B{2, 3} Симметрическая разность будет {1,3} Ещё более простым языком Множество А состоит из треугольников и кругов Множество Б состоит из кругов и квадратов. Сим Разность будет треугольники + квадраты.