В этом учебнике мы собираемся изучить множество Python. В нашей предыдущей статье мы узнали о строке Python. Вы можете узнать об этом здесь.
Множество Python
Множество Python – это неупорядоченная коллекция уникальных элементов. Предположим, у вас есть список, и вам нужны только уникальные элементы списка, вы можете использовать множество Python. Аналогично, если вам нужны только уникальные элементы из ввода, множество Python может помочь вам в этом. Вы можете добавлять или удалять элементы из него. Вы можете инициализировать множество, поместив элементы между фигурными скобками. Как и другие последовательности, в одном множестве могут быть элементы нескольких типов данных. Кроме того, вы также можете создать множество из списка, используя функцию set(). Следующий пример даст вам некоторое представление об инициализации множества.
#множество, содержащее элементы одного типа данных
set1 = {1, 2, 3, 4, 2, 3, 1}
print(set1)
#множество, содержащее элементы нескольких типов данных
set2 = {1, 2, 3, (1, 2, 3), 2.45, "Python", 2, 3}
print(set2)
#создание множества из списка
theList = [1, 2, 3, 4, 2, 3, 1]
theSet = set(theList)
print(theSet)
Результат будет
================== RESTART: /home/imtiaz/set1.py ==================
set([1, 2, 3, 4])
set([1, 2, 3, 2.45, 'Python', (1, 2, 3)])
set([1, 2, 3, 4])
>>>
Добавление элементов в множество Python
В предыдущем примере мы узнали, как напрямую инициализировать множество в Python. Предположим, нам нужно добавить элемент в множество, мы можем сделать это, используя функцию add(). Но эта функция может добавить только один элемент. Если вы хотите добавить итерируемые элементы, такие как список или множество, вы можете сделать это, используя функцию update(). Следующий пример поможет вам понять это
#инициализируем пустое множество
theSet = set()
#добавляем один элемент, используя функцию add()
theSet.add(1)
theSet.add(2)
theSet.add(3)
theSet.add(2)
#добавляем элементы другого типа
theSet.add('hello')
#добавляем итерируемые элементы, используя функцию update()
theSet.update([1,2,4,'hello','world']) #list as iterable element
theSet.update({1,2,5}) #set as iterable element
print(theSet)
Результат следующего кода будет
================== RESTART: /home/imtiaz/set_new.py ==================
set([1, 2, 3, 4, 5, 'world', 'hello'])
>>>
Удаление элементов из множества Python
Существует две функции для удаления элементов из множества Python. Одна из них – функция remove(), а другая – функция discard(). Если элемент, который вы пытаетесь удалить, отсутствует в множестве, функция remove() вызовет исключение. Но функция discard не сделает ничего подобного. Следующий код покажет вам это
theSet = {1,2,3,4,5,6}
#удаляем 3, используя функцию discard()
theSet.discard(3)
print(theSet)
#снова вызываем функцию discard() для удаления 3
theSet.discard(3) #This won't raise any exception
print(theSet)
#вызываем функцию remove() для удаления 5
theSet.remove(5)
print(theSet)
#вызываем функцию remove() для удаления 5 again
theSet.remove(5) #this would raise exception
print(theSet) #this won't be printed
Вы увидите, что результат будет следующим,
================== RESTART: /home/imtiaz/set_del.py ==================
set([1, 2, 4, 5, 6])
set([1, 2, 4, 5, 6])
set([1, 2, 4, 6])
Traceback (most recent call last):
File "/home/imtiaz/set_del.py", line 16, in
theSet.remove(5) #this would raise exception
KeyError: 5
>>>
Операции с множествами в Python
Вам могут быть знакомы некоторые математические операции над множествами, такие как объединение, пересечение, разность. Мы также можем выполнять их с помощью множеств в Python. Теперь мы узнаем, как это делать.
Объединение множеств в Python
Объединение – это операция объединения двух множеств. Это означает, что объединение создаст еще одно множество, содержащее все уникальные элементы двух множеств. Например, {1, 2, 3, 4} и {2, 3, 5, 7} – два множества. Если мы выполним операцию объединения над ними, мы получим {1, 2, 3, 4, 5, 7}. Мы можем получить это, используя функцию union().
Пересечение множеств в Python
Снова, пересечение – это операция получения общих уникальных элементов двух множеств. Например, {1, 2, 3, 4} и {2, 3, 5, 7} – два множества. Если мы найдем их пересечение, мы получим {2, 3}. Операция пересечения выполняется с помощью функции intersection().
Разность множеств в Python
Теперь операция разности сравнивает два множества и создает новое множество, содержащее элементы из множества A, которых нет в множестве B. Предположим, у нас есть два множества, A = {1, 2, 3, 4} и B = {2, 3, 5, 7}. Тогда операция A – B сгенерирует {1, 4}. Более того, B – A сгенерирует {5, 7}. Операция разности выполняется с помощью функции difference()… Следующий код даст вам представление о том, как выполнять эти операции с множествами в языке программирования Python.
A = {1, 2, 3, 4} #initializing set A
B = {2, 3, 5, 7} #initializing set B
union_operation = A.union(B)
print("A union B :")
print(union_operation)
intersection_operation = A.intersection(B)
print("A intersection B :")
print(intersection_operation)
difference_operation = A.difference(B)
print("A-B :")
print(difference_operation)
difference_operation = B.difference(A)
print("B-A :")
print(difference_operation)
Полученный вывод будет выглядеть следующим образом
================== RESTART: /home/imtiaz/set_op.py ==================
A union B :
set([1, 2, 3, 4, 5, 7])
A intersection B :
set([2, 3])
A-B :
set([1, 4])
B-A :
set([5, 7])
>>>
Итак, это все на сегодня. Надеюсь, вы хорошо усвоили информацию о множествах в Python. Если у вас есть какие-либо вопросы, просто напишите их в комментариях. Мы ответим на них. Ссылка: Официальная документация
Source:
https://www.digitalocean.com/community/tutorials/python-set