Python: Cловари и множества
Теория: Методы объектов множеств
Существуют операторы, которые позволяют различными способами комбинировать множества. Эти операторы максимально похожи на те, что применяются в теории множеств в математике. Эта похожесть — очень важное свойство, которые мы изучим в этом уроке.
Операции над множествами как методы
С теорией множеств программисты обычно знакомы, хотя бы поверхностно. Поэтому множества нужно использовать в сочетании с операторами. Однако было бы неправильно умолчать, что у каждого оператора есть свой словесный метод-аналог.
Познакомимся с этими методами-аналогами:
Обновление множеств «по месту»
Есть еще одна причина, по которой мы рассказываем про четыре метода выше. Вспомним метод update у словаря, который обновляет словарь «по месту» с помощью данных из другого словаря.
Так вот, для множеств существует несколько таких update-методов:
difference_updateintersection_updatesymmetric_difference_updateupdate
Рассмотрим их подробнее:
-
Метод
difference_updateработает похоже на-/difference. Он удаляет из связанного множества все элементы, которые входят в множество-аргумент: -
Метод
intersection_updateи его изменяющий аналог&/intersection. Он оставляет в связанном множестве только те элементы, которые входят и в множество-аргумент: -
Метод
symmetric_difference_updateи его изменяющий аналог^/symmetric_difference. Он добавляет в связанное множество элементы, которые есть только в множестве-аргументе. Также он удаляет элементы, которые есть в обоих множествах: -
Метод
updateи его изменяющий аналог|/union. Он дополняет связанное множество отсутствующими элементами из множества-аргумента:С точки зрения единообразия метод
updateнадо было бы назватьunion_update. Для него выбрали более распространенное имяupdate, потому что это имя часто используется для сходных по смыслу методов других коллекций.







