Множества
В математике есть такое понятие как множество (или теория множеств). Возможно вы их даже изучали в курсе математики. Может быть, вы даже знакомы с диаграммами Венна.
На практике множество можно рассматривать просто как четко определенный набор отдельных объектов, которые называются элементами или членами.
Группировка объектов в множество может быть полезна в программировании, и Python представляет нам для этого встроенный тип
set
.
Множества (тип
set
) отличаются от других типов объектов уникальными операциями, которые можно с ними выполнять.
Встроенный тип
set
в Python имеет следующие характеристики:
- элементы множества неупорядочены (это значит, что два множества эквивалентны, если содержат одинаковые элементы). Хранятся элементы множества не последовательно, а по определенным алгоритмам, которые позволяют быстро определять принадлежность элемента множеству (без перебора всех элементов);
- элементы множества уникальны. Повторяющиеся элементы не допускаются;
- множества изменяемы (например, можно добавить элемент в множество), но сами элементы внутри множества должны быть неизменяемые (числа, строки, кортежи). Вы не можете сделать элементом множества список или другое множество;
Создание множества
1 способ
Просто перечислите в фигурных скобках элементы, входящие во множество.
x = {"school", "teacher", "class", student}
2 способ
Используйте встроенную функцию
set()
.
x = set() # пустое множество
list_name = ["Andry", "Bob", "Caroline"]
y = set(list_name) # можно создать множество
# из любого итерируемого объекта
z = set(["Andry", "Bob", "Caroline"]) # {'Bob', 'Caroline', 'Andry'}
k = set(("Andry", "Bob", "Caroline")) # {'Bob', 'Caroline', 'Andry'}
s = "string s"
m = set(s) # {'i', 't', 'g', 'r', 'n', 's', ' '} -
# обратите внимание!
# порядок элементов может быть любой,
# элементы не повторяются
n = {42, 'foo', 3.14159, None, (1, 2, 3)} # элементы в наборе
# могут быть разного типа
Вывод множества
Выводятся элементы множества в произвольном порядке, не обязательно в том, в котором они добавляются.
z = set(["Andry", "Bob", "Caroline"])
print(z) # {'Bob', 'Caroline', 'Andry'}
print(*z) # Bob Andry Caroline