Доброго времени суток, читатели, зрители моего канала programmer's notes.
Данная статья это второе приложение к уроку 18.
Операции над множествами в языке программирования Python. Методы
В уроках
я уже немного коснулся методов, которые можно использовать при работе со множествами. Теперь рассмотрим методы, которые выполняют те же операции, что и рассмотренные в статье
операторы.
1. Объединение множеств (метод union())
st1 = {1, 2, 3, 4, 7}
st2 = {5, 7}
sst = st1.union(st2)
print(sst)
Результат выполнения
{1, 2, 3, 4, 5, 7}
Есть еще один метод update(), который выполняет похожую операцию. Но он по-сути добавляет элементы в само множество, а не создает новое:
st1 = {1, 2, 3, 4, 7}
st2 = {5, 7}
st1.update(st2)
print(st1)
Результат выполнения
{1, 2, 3, 4, 5, 7}
2. Пересечение множеств (метод intersection())
st1 = {1, 2, 3, 4, 7}
st2 = {5, 7, 2}
stt = st1.intersection(st2)
print(stt)
Результат выполнения
{2, 7}
3. Разность множеств (метод difference())
st1 = {1, 2, 3, 4, 7}
st2 = {5, 7, 2}
stt = st1.difference(st2)
print(stt)
Результат выполнения
{1, 3, 4}
4. Симметричная разность (метод symmetric_difference())
st1 = {1, 2, 3, 4, 7}
st2 = {5, 7, 2}
stt = st1.symmetric_difference(st2)
print(stt)
Результат выполнения
5. Подмножества (методы issubset() и issuperset())
st1 = {1, 2, 3, 4, 7}
st2 = {1, 7, 2}
print(st2.issubset(st1))
print(st1.issuperset(st2))
Результат выполнения
True
True
6. Еще один метод isdisjoint()
Метод возвращает True, если два множества имеют пустое пересечение
st1 = {1, 2, 3}
st2 = {4, 5, 6}
print(st1.isdisjoint(st2))
Результат выполнения
True
Важное замечание 1
Есть различие между использованием операторов, которые были представлены в предыдущем приложении, и методов. Метод может содержать в качестве аргумента не только множество, но и другую коллекцию, которая автоматически преобразуется в множество.
st = {1, 2, 3, 4, 5, 6}
ls = [1, 3, 6, 6]
st.union(ls)
print(st)
Результат выполнения
{1, 2, 3, 4, 5, 6}
Важное замечание 2
Отметим, что методы union(), update(), intersection(), difference(), symmetric_difference() могут иметь несколько аргументов, отделенных запятой.
st1 = {1, 2, 3, 4}
st2 = {4, 5, 6, 1}
ls = [10, 11]
stt = st1.union(st2, ls)
print(stt)
Результат выполнения фрагмента
{1, 2, 3, 4, 5, 6, 10, 11}
Пока все. Следующий видео-урок будет по решению задач на множества.
#программирование #программисты #python #языки программирования