Set (набор) в Python
Содержание
Python Set похож на словарь, неупорядоченный набор ключей, который хранится без каких-либо значений. Тип набор изменяемый , содержание может быть изменено с помощью методов , как Add() и удалить() . Наборы не содержат дубликатов, каждый элемент в наборе Python может иметь только одно вхождение в этом конкретном наборе, допускать множественные вхождения. В настоящее время существуют два встроенных набора типов: Set и Frozenset .
Пример:
set_num = set("Hello World!") print(set_num)
Вывод:
{'o', 'H', 'r', 'l', ' ', 'd', 'e', '!', 'W'}
Создание набора из кортежа
Пример:
set_dir = set(('East','West','North','South')) print(set_dir)
Вывод:
{'West', 'South', 'North', 'East'}
Создать набор из списка
Пример:
set_dir = set(['East','West','North','South']) print(set_dir)
Вывод:
{'South', 'West', 'North', 'East'}
Наборы Mutable
Тип набора изменен, содержимое можно изменить с помощью таких методов, как add() и remove().
Пример:
set_col = set({'Red','Blue','Green'}) print(set_col) set_col.add('White') print(set_col)
Вывод:
{'Green', 'Blue', 'Red'} {'White', 'Green', 'Blue', 'Red'}
Set.remove() удаляет элементы из набора.
Пример:
set_col = set({'Red','Blue','Green'}) print(set_col) set_col.remove('Blue') print(set_col)
Вывод:
{'Blue', 'Green', 'Red'} {'Green', 'Red'}
Установить длину Set
Функция len() вернула длину набора.
Пример:
set_col = set({'Red','Blue','Green'}) print(len(set_col))
Вывод:
3
Союз union() наборов Set
В Python операция Union может выполняться на двух наборах Python с использованием оператора или с помощью метода union(). Объединение двух множеств x и y - это другое множество, содержащее все различные элементы в множествах x и x.
Использование оператора
Пример:
x = set({1,2,3,4,5}) y = set({3,4,5,6,7}) z = x y print(z)
Вывод:
{1, 2, 3, 4, 5, 6, 7}
Используя union()
Пример:
x = set({1,2,3,4,5}) y = set({3,4,5,6,7}) z = x.union(y) print(z)
Вывод:
{1, 2, 3, 4, 5, 6, 7}
Пересечение наборов
В Python операция Union может выполняться на двух наборах Python с использованием оператора & или с помощью метода пересечения(). Пересечение двух множеств x и y - это еще один набор элементов, присутствующих в обоих наборах x и y (общий для них обоих).
Использование & оператора
Пример:
x = set({1,2,3,4,5}) y = set({3,4,5,6,7}) z = x & y print(z)
Вывод:
{3, 4, 5}
Использование intersection()
Пример:
x = set({1,2,3,4,5}) y = set({3,4,5,6,7}) z = x.intersection(y) print(z)
Вывод:
{3, 4, 5}
Разница difference() наборов SET
Метод difference() возвращает заданное различие двух наборов. В Python разностная операция может выполняться на двух наборах Python с использованием оператора - или с помощью метода difference().
Использование - оператор
Пример:
x = set({1,2,3,4,5}) y = set({3,4,5,6,7}) z = x-y print(z)
Вывод:
{1, 2}
Использование difference()
Пример:
x = set({1,2,3,4,5}) y = set({3,4,5,6,7}) z = x.difference(y) print(z)
Вывод:
{1, 2}
Симметричная разность наборов
Симметричная разность множеств - это набор элементов, которые не являются общими для обоих множеств. Используется метод symmetric_difference().
Использование symmetric_difference()
Пример:
x = set({1,2,3,4,5}) y = set({3,4,5,6,7}) z = x.symmetric_difference(y) print(z)
Вывод:
{1, 2, 6, 7}
Frozenset
Значение frozenset неизменно: оно настроено на вызов функции frozenset(), но после его настройки его содержимое не может быть изменено.
Пример:
set_col = frozenset({'Red','Blue','Green'}) print(set_col) set_col.add('White') print(set_col)
Вывод:
frozenset({'Blue', 'Red', 'Green'}) Traceback (most recent call last): File "sample.py", line 5, in < module > set_col.add('White') AttributeError: 'frozenset' object has no attribute 'add'
Источник: net-informations.com