Множество — это «мешок», содержащий неупорядоченные уникальные значения. Одно множество может содержать значения любых типов. Если у вас есть два множества, вы можете совершать над ними любые стандартные операции, например, объединение, пересечение и разность.
СОЗДАНИЕ МНОЖЕСТВА
a_set = {1} # создание множества с одним значением
print(a_set)
input()
# выведет: {1}
a_set = {1}
print(type(a_set)) # создание множества реализующиеся как классы
input()
# выведет:
a_set = {1, 2} # создание множества с несколькими значениями
print(a_set)
input()
# выведет: {1, 2}
ИЗМЕНЕНИЕ МНОЖЕСТВА
Есть два способа добавить элементы в существующее множество: метод add() и метод update().
# метод add()
a_set = {1, 2}
a_set.add(4) #(1)
print(a_set)
input()
# выведет: {1, 2, 4}
a_set = {1, 2}
a_set.add(4)
print(len(a_set)) #(2)
input()
# выведет: 3
a_set = {1, 2}
a_set.add(4)
a_set.add(1) #(3)
print(a_set)
input()
# выведет: {1, 2, 4}
a_set = {1, 2}
a_set.add(4)
a_set.add(1)
print(len(a_set)) #(4)
input()
# выведет: 3
- Метод add() принимает один аргумент, который может быть любого типа, и добавляет данное значение в множество.
- Теперь множество содержит 3 элемента.
- Множества — мешки уникальных значений. Если попытаться добавить значение, которое уже присутствует в множестве, ничего не произойдет. Это не приведет в возникновению ошибки; просто нулевое действие.
- Это множество все ещё состоит из 3 элементов.
# метод update()
a_set = {1, 2, 3}
print(a_set)
input()
# выведет: {1, 2, 3}
a_set.update({2, 4, 6}) #(1)
print(a_set)
input() #(2)
# выведет: {1, 2, 3, 4, 6}
a_set.update({3, 6, 9}, {1, 2, 3, 5, 8, 13}) #(3)
print(a_set)
input()
# выведет: {1, 2, 3, 4, 5, 6, 8, 9, 13}
a_set.update([10, 20, 30]) #(4)
print(a_set)
input()
# выведет: {1, 2, 3, 4, 5, 6, 8, 9, 10, 13, 20, 30}
- Метод update() принимает один аргумент — множество, и добавляет все его элементы к исходному множеству.
- Повторяющиеся значения игнорируются, поскольку множество не может содержать дубликаты.
- Можно вызвать метод update() с любым количеством параметров. Когда он вызывается с двумя множествами, метод update() добавляет все элементы обоих множеств в исходное множество (пропуская повторяющиеся).
- Метод update() может принимать объекты различных типов, включая списки. Когда ему передается список, он добавляет все его элементы в исходное множество.
Удаление элементов
Для удаления одного элемента вызывается метод remove(), в который передается удаляемый элемент. Но следует учитывать, что если такого элемента не окажется в множестве, то будет сгенерирована ошибка.
Поэтому перед удалением следует проверять на наличие элемента с помощью оператора in:
users = {"Tom", "Bob", "Alice"}
user = "Tom"
if user in users:
users.remove(user)
print(users)
input()
# выведет: {'Alice', 'Bob'}
Перебор множества
Для перебора элементов можно использовать цикл for.
users = {"Tom","Bob","Alice"}
for user in users:
print(user)
input()
# выведет:
Alice
Tom
Bob
# При переборе каждый элемент помещается в переменную user.
Операции с множествами
С помощью метода copy() можно скопировать содержимое одного множества в другую переменную:
users = {"Tom","Bob","Alice"}
users3 = users.copy()
Метод union() объединяет два множества и возвращает новое множество:
users = {"Tom","Bob","Alice"}
users2 = {"Sam","Kate", "Bob"}
users3 = users.union(users2)
print(users3)
input()
# выведет: {"Bob", "Alice", "Sam", "Kate", "Tom"}
Метод intersection() производит операцию пересечения множеств и возвращает новое множество:
users = {"Tom","Bob","Alice"}
users2 = {"Sam","Kate", "Bob"}
users3 = users.intersection(users2)
print(users3)
input()
# выведет: {"Bob"}
Еще одна операция — разность множеств возвращает те элементы, которые есть в первом множестве, но отсутствуют во втором. Для получения разности множеств можно использовать метод difference или операцию вычитания:
users = {"Tom","Bob","Alice"}
users2 = {"Sam","Kate", "Bob"}
users3 = users.difference(users2)
print(users3) # {"Tom", "Alice"}
print(users - users2) # {"Tom", "Alice"}
input()
frozen set
Тип frozen set является видом множеств, которое не может быть изменено. Для его создания используется функция frozenset:
users = frozenset({"Tom", "Bob", "Alice"})
В функцию frozenset передается набор элементов — список, кортеж, другое множество.
Видео по уроку:
Видео по уроку: