Множества
Множество — это объект, который хранит коллекцию данных таким же образом, что и математические множества
Все элементы в множестве должны быть уникальными. Никакие два элемента не могут иметь одинаковое значение
Множества не упорядочены, т.е. элементы в множестве не хранятся в каком-то определенном порядке
Хранящиеся в множестве элементы могут иметь разные типы данных, но обязательно они должны быть неизменяемыми
Создание множества
Получение количества элементов в множестве
Множества удобно использовать для удаления повторяющихся элементов
Добавление и удаление элементов множества
Удалить элемент множества можно при помощи методов
remove()
иdiscard()
. Единственная разница в том, чтоremove()
вызывает исключениеKeyError
, если элемент не найден, аdiscard()
исключения не вызывает
Применение цикла for для последовательного обхода множества
Применение операторов in и not in
Практика:
Создайте множество чисел. Если в нём есть число
1
— удалите его, иначе — выведите на экран "Число 1 не найдено"Создайте множество чисел. Удалите из него четные числа
Создайте множество букв английского алфавита. Удалите гласные.
Дополнительно: создайте переменную, в которую сохраните строку из согласных из получившегося множества
Объединение, пересечение и разность множеств
Объединение двух множеств — это операция, в результате которой получается множество, содержащее все элементы обоих множеств
В Python для получения объединения двух множеств вызывается метод
union()
Вот формат вызова:
множество1.union(множество2)
Ещё один вариант — использование оператора
|
Пересечение множеств — это операция над множествами, при которой в итоговое множество входят только те элементы, которые находятся в обоих множествах
В Python для получения пересечения двух множеств используется метод
intersection()
множество1.intersection(множество2)
Ещё один вариант — использование оператора
&
Разность множеств set1
и set2
— это все элементы set1
, не входящие в set2
Симметричная разность множеств — это множество, которое содержит элементы, не принадлежащие одновременно обоим исходным множествам. Т.е. это те элементы, которые входят в одно из множеств, но не входят в оба множества одновременно
Подмножества и надмножества
Включение в множество (set comprehension)
Использование и смысл аналогичны списковым включениям, только вместо
[]
используются{}
Интерактив:
Как определяется количество элементов в множестве?
Что значит понятие "уникальности элементов" для множеств?
Какие элементы будут храниться в множестве?
В чём разница между
remove()
иdiscard()
?Какое множество являетя подмножеством другого?
Какое множество является надмножеством другого?
Какую функцию выполняют операторы
& | - ^
для множеств?
Практика:
Переменные
set1
иset2
ссылаются на множества. Напишите фрагмент кода, который создаст ещё одно множествоset3
, которое:
Содержит все элементы из
set1
иset2
Содержит только те элементы, которые одновременно находятся в
set1
иset2
Содержит элементы
set1
, не входящие вset2
Содержит элементы
set2
, не входящие вset1
Содержит элементы, не принадлежащие одновременно
set1
иset2
Напишите функцию, которая принимает на вход числа (их количество неизвестно) и возвращает список уникальных чисел в порядке убывания
Last updated