Наборы 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'}