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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector