HTML Diff
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 и его изменяющий аналог &amp;/intersection. Он оставляет в связанном множестве только те элементы, которые входят и в множество-аргумент:</p>
15 <li><p>Метод intersection_update и его изменяющий аналог &amp;/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>