Наборы Python

Наборы Python - это тип коллекции, который содержит неупорядоченный коллекция уникальный а также неизменный объекты. Другими словами, набор Python не может содержать повторяющиеся элементы, и после создания набора элементы не могут измениться.

Примечание:Элементы набора неизменяемы, это означает, что мы не можем изменить элементы. Однако сам набор является изменяемым, т.е. мы можем добавлять и удалять элементы из набора.

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

В Python наборы строятся с использованием фигурных скобок {} и каждый элемент в наборе отделяется запятой ,.


Как и списки Python, наборы также могут содержать несколько различных типов объектов, поэтому не все они должны быть строками или целыми числами. Например, у нас может быть набор, содержащий смешанные типы:

mixedTypesSet = {'one', True, 13, 2.0}

Как создать набор

colorsSet = {'red', 'green', 'blue'} print(colorsSet)

Выход:


{'red', 'blue', 'green'}

Как получить доступ к предметам набора

Мы не можем использовать индекс для доступа к элементу в наборе. Это потому, что набор неупорядочен и не поддерживает индекс. Однако мы можем использовать for цикл для перебора элементов в наборе.

colorsSet = {'red', 'green', 'blue'} for c in colorsSet:
print(c)

Выход:

green red blue

Как добавлять предметы в набор

Чтобы добавить один элемент в набор, нам нужно использовать add() метод.

Чтобы добавить в набор более одного элемента, нам нужно использовать update() метод.


Добавление одного предмета

colorsSet = {'red', 'green', 'blue'} colorsSet.add('yellow') print(colorsSet)

Выход:

{'blue', 'red', 'green', 'yellow'}

Добавление более одного элемента

colorsSet = {'red', 'green', 'blue'} colorsSet.update(['yellow', 'orange', 'white']) print(colorsSet)

Выход:

{'white', 'red', 'green', 'yellow', 'orange', 'blue'}

Как удалить предмет из набора

Есть два метода удаления элемента из набора: remove() и discard().

remove() удаляет указанный элемент. Если элемент не существует, remove() вызовет ошибку.


colorsSet = {'red', 'green', 'blue', 'orange'} colorsSet.remove('orange') print(colorsSet)

Выход:

{'blue', 'green', 'red'}

discard() удаляет указанный элемент. Если элемент не существует, discard() будут НЕТ вызвать ошибку.

Удалить все элементы набора

Чтобы удалить все элементы и очистить набор, мы используем clear() метод:

colorsSet = {'red', 'green', 'blue', 'orange'} colorsSet.clear() print(colorsSet)

Выход:


set()

Удалить набор полностью

Чтобы полностью удалить набор, используйте del ключевое слово:

colorsSet = {'red', 'green', 'blue', 'orange'} del colorSet print(colorsSet)

Выход:

Traceback (most recent call last): File 'pythonSet.py', line 78, in
del colorSet NameError: name 'colorSet' is not defined


Как получить длину набора

Вы можете получить установленную длину, вызвав len() метод, например:

colorsSet = {'red', 'green', 'blue', 'orange'} print(len(colorsSet))

Выход:


4

Как соединить два набора вместе

Самый простой способ соединить два набора вместе - использовать union() метод, который возвращает новый набор, содержащий элементы из объединенных наборов.

colorsSet = {'red', 'green', 'blue', 'orange'} numbersSet = {1, 2, 3, 4} numbersAndColors = colorsSet.union(numbersSet) print(numbersAndColors)

Выход:

{1, 2, 'blue', 3, 4, 'green', 'red', 'orange'}