Множества

Множество — это объект, который хранит коллекцию данных таким же образом, что и математические множества

Пример множества чисел
Визуализация взаимоотношений между множествами
  • Все элементы в множестве должны быть уникальными. Никакие два элемента не могут иметь одинаковое значение

  • Множества не упорядочены, т.е. элементы в множестве не хранятся в каком-то определенном порядке

  • Хранящиеся в множестве элементы могут иметь разные типы данных, но обязательно они должны быть неизменяемыми

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

  • Получение количества элементов в множестве

  • Множества удобно использовать для удаления повторяющихся элементов

Добавление и удаление элементов множества

  • Удалить элемент множества можно при помощи методов remove() и discard(). Единственная разница в том, что remove() вызывает исключение KeyError, если элемент не найден, а discard() исключения не вызывает

Применение цикла for для последовательного обхода множества

Применение операторов in и not in

Практика:

  1. Создайте множество чисел. Если в нём есть число 1— удалите его, иначе — выведите на экран "Число 1 не найдено"

  2. Создайте множество чисел. Удалите из него четные числа

  3. Создайте множество букв английского алфавита. Удалите гласные.

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

Объединение, пересечение и разность множеств

Объединение двух множеств — это операция, в результате которой получается множество, содержащее все элементы обоих множеств

  • В Python для получения объединения двух множеств вызывается метод union()

  • Вот формат вызова: множество1.union(множество2)

  • Ещё один вариант — использование оператора |

Пересечение множеств — это операция над множествами, при которой в итоговое множество входят только те элементы, которые находятся в обоих множествах

  • В Python для получения пересечения двух множеств используется метод intersection()

  • множество1.intersection(множество2)

  • Ещё один вариант — использование оператора &

Разность множеств set1 и set2 — это все элементы set1, не входящие в set2

Симметричная разность множеств — это множество, которое содержит элементы, не принадлежащие одновременно обоим исходным множествам. Т.е. это те элементы, которые входят в одно из множеств, но не входят в оба множества одновременно

Подмножества и надмножества

Включение в множество (set comprehension)

  • Использование и смысл аналогичны списковым включениям, только вместо [] используются {}

Интерактив:

  • Как определяется количество элементов в множестве?

  • Что значит понятие "уникальности элементов" для множеств?

  • Какие элементы будут храниться в множестве?

  • В чём разница между remove() и discard()?

  • Какое множество являетя подмножеством другого?

  • Какое множество является надмножеством другого?

  • Какую функцию выполняют операторы & | - ^ для множеств?

Практика:

  1. Переменные set1 и set2 ссылаются на множества. Напишите фрагмент кода, который создаст ещё одно множество set3, которое:

  • Содержит все элементы из set1 и set2

  • Содержит только те элементы, которые одновременно находятся в set1 и set2

  • Содержит элементы set1, не входящие в set2

  • Содержит элементы set2, не входящие в set1

  • Содержит элементы, не принадлежащие одновременно set1 и set2

  1. Напишите функцию, которая принимает на вход числа (их количество неизвестно) и возвращает список уникальных чисел в порядке убывания

Last updated