0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Существуют операторы, которые позволяют различными способами комбинировать множества. Эти операторы максимально похожи на те, что применяются в теории множеств в математике. Эта похожесть - очень важное свойство, которые мы изучим в этом уроке.</p>
1
<p>Существуют операторы, которые позволяют различными способами комбинировать множества. Эти операторы максимально похожи на те, что применяются в теории множеств в математике. Эта похожесть - очень важное свойство, которые мы изучим в этом уроке.</p>
2
<h2>Операции над множествами как методы</h2>
2
<h2>Операции над множествами как методы</h2>
3
<p>С теорией множеств программисты обычно знакомы, хотя бы поверхностно. Поэтому множества нужно использовать в сочетании с операторами. Однако было бы неправильно умолчать, что у каждого оператора есть свой словесный метод-аналог.</p>
3
<p>С теорией множеств программисты обычно знакомы, хотя бы поверхностно. Поэтому множества нужно использовать в сочетании с операторами. Однако было бы неправильно умолчать, что у каждого оператора есть свой словесный метод-аналог.</p>
4
<p>Познакомимся с этими методами-аналогами:</p>
4
<p>Познакомимся с этими методами-аналогами:</p>
5
<h2>Обновление множеств "по месту"</h2>
5
<h2>Обновление множеств "по месту"</h2>
6
<p>Есть еще одна причина, по которой мы рассказываем про четыре метода выше. Вспомним метод update у словаря, который обновляет словарь "по месту" с помощью данных из другого словаря.</p>
6
<p>Есть еще одна причина, по которой мы рассказываем про четыре метода выше. Вспомним метод update у словаря, который обновляет словарь "по месту" с помощью данных из другого словаря.</p>
7
<p>Так вот, для множеств существует несколько таких update-методов:</p>
7
<p>Так вот, для множеств существует несколько таких update-методов:</p>
8
<ul><li>difference_update</li>
8
<ul><li>difference_update</li>
9
<li>intersection_update</li>
9
<li>intersection_update</li>
10
<li>symmetric_difference_update</li>
10
<li>symmetric_difference_update</li>
11
<li>update</li>
11
<li>update</li>
12
</ul><p>Рассмотрим их подробнее:</p>
12
</ul><p>Рассмотрим их подробнее:</p>
13
<ol><li><p>Метод difference_update работает похоже на -/difference. Он удаляет из связанного множества все элементы, которые входят в множество-аргумент:</p>
13
<ol><li><p>Метод difference_update работает похоже на -/difference. Он удаляет из связанного множества все элементы, которые входят в множество-аргумент:</p>
14
</li>
14
</li>
15
<li><p>Метод intersection_update и его изменяющий аналог &/intersection. Он оставляет в связанном множестве только те элементы, которые входят и в множество-аргумент:</p>
15
<li><p>Метод intersection_update и его изменяющий аналог &/intersection. Он оставляет в связанном множестве только те элементы, которые входят и в множество-аргумент:</p>
16
</li>
16
</li>
17
<li><p>Метод symmetric_difference_update и его изменяющий аналог ^/symmetric_difference. Он добавляет в связанное множество элементы, которые есть только в множестве-аргументе. Также он удаляет элементы, которые есть в обоих множествах:</p>
17
<li><p>Метод symmetric_difference_update и его изменяющий аналог ^/symmetric_difference. Он добавляет в связанное множество элементы, которые есть только в множестве-аргументе. Также он удаляет элементы, которые есть в обоих множествах:</p>
18
</li>
18
</li>
19
<li><p>Метод update и его изменяющий аналог |/union. Он дополняет связанное множество отсутствующими элементами из множества-аргумента:</p>
19
<li><p>Метод update и его изменяющий аналог |/union. Он дополняет связанное множество отсутствующими элементами из множества-аргумента:</p>
20
<p>С точки зрения единообразия метод update надо было бы назвать union_update. Для него выбрали более распространенное имя update, потому что это имя часто используется для сходных по смыслу методов других коллекций.</p>
20
<p>С точки зрения единообразия метод update надо было бы назвать union_update. Для него выбрали более распространенное имя update, потому что это имя часто используется для сходных по смыслу методов других коллекций.</p>
21
</li>
21
</li>
22
</ol><h2>Рекомендуемые программы</h2>
22
</ol><h2>Рекомендуемые программы</h2>