Перейти к содержанию

2.7. Множества

Множества – это неупорядоченные наборы простых объектов. Они необходимы тогда, когда присутствие объекта в наборе важнее порядка или того, сколько раз данный объект там встречается.
Используя множества, можно осуществлять проверку принадлежности, определять, является ли данное множество подмножеством другого множества, находить пересечения множеств и так далее.
Пример работы с множествами:

briks = set(['Бразилия', 'Россия', 'Индия', 'Китай', 'Южно-Африканская республика'])
if 'Индия' in briks:
   print("Индия входит в БРИКС")
if 'США' not in briks:
   print("США не входит в БРИКС")

Прооперируем множество

Основные операции, которые дают множествам преимущество перед другими контейнерами:

  1. Объединие множеств. Все элементы первого множества дополняются к элементам второго множества. Допустим мы хотим дополнить множество из последовательности Фибоначчи множеством простых чисел:

    fib=set( (1,1,2,3,5,8,13) )
    prime=set( (2,3,5,7,11,13) )
    comb = fib | prime
    print(comb)
    

    В результате получаем общий список {1, 2, 3, 5, 7, 8, 11, 13}.

  2. Пересечение множеств. В результате остаются элементы присуствующие в обоих входных множествах:

    fib=set( (1,1,2,3,5,8,13) )
    prime=set( (2,3,5,7,11,13) )
    inter = fib & prime
    print(inter)
    

    На выходе получаем {13, 2, 3, 5}.

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

    fib=set( (1,1,2,3,5,8,13) )
    prime=set( (2,3,5,7,11,13) )
    diff = fib - prime
    print(diff)
    

    На выходе получаем {8, 1}.

Методы множеств

  • add(новый элемент). Добавляет новый элемент в множество.
  • remove(старый элемент). Удаляет элемент из множества.
  • clear(). Очистка всего множества.
  • issubset(other). Является ли исходное множество подмножеством other.
  • issuperset(other). Является ли исходное множество надмножеством other.

Краткое содержание

- Множество - неупорядоченный набор объектов в единственном экземпляре.
- Для создания множества используйте функцию set. ```set(1,2,3)```
- Методы работы с множествами соотвествуют операциям со множествами из школьного курса алгебры.

Самостоятельная работа

Изучите работу с множествами на сайте. Повторите пример удаления повторяющихся элементов из списка. Изучите дополнительный тип данных frozenset.
Затем переходите к заданиям.