HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Ключи словаря хранятся в нем в единственном экземпляре. Добавление нового значения по существующему ключу заменяет старое значение. Хранение в единственном экземпляре полезно и в тех случаях, когда нам нужно хранить не столько значения по ключам, сколько именно сами ключи.</p>
1 <p>Ключи словаря хранятся в нем в единственном экземпляре. Добавление нового значения по существующему ключу заменяет старое значение. Хранение в единственном экземпляре полезно и в тех случаях, когда нам нужно хранить не столько значения по ключам, сколько именно сами ключи.</p>
2 <p>Например, нужно хранить список городов, которые посетил каждый пользователь. При повторном посещении города дублировать запись не требуется. Это позволяет сэкономить память и упростить поиск информации. Также нам может понадобиться узнать, какие города посетили и Вася и Маша, а какие - только Маша или только Вася.</p>
2 <p>Например, нужно хранить список городов, которые посетил каждый пользователь. При повторном посещении города дублировать запись не требуется. Это позволяет сэкономить память и упростить поиск информации. Также нам может понадобиться узнать, какие города посетили и Вася и Маша, а какие - только Маша или только Вася.</p>
3 <p>По сути, это хранения перечня элементов в неких наборах и сопоставления этих наборов между собой. В математике для решения такого рода задач служат<a>множества</a>. В свою очередь, Python предоставляет одноименную структуру данных - set.</p>
3 <p>По сути, это хранения перечня элементов в неких наборах и сопоставления этих наборов между собой. В математике для решения такого рода задач служат<a>множества</a>. В свою очередь, Python предоставляет одноименную структуру данных - set.</p>
4 <p>Итак,<strong>множества</strong>в Python - это неупорядоченные последовательности элементов, каждый из которых в множестве представлен ровно один раз. С ними мы подробнее познакомимся в этом уроке.</p>
4 <p>Итак,<strong>множества</strong>в Python - это неупорядоченные последовательности элементов, каждый из которых в множестве представлен ровно один раз. С ними мы подробнее познакомимся в этом уроке.</p>
5 <h2>Создание множеств и манипуляции над ними</h2>
5 <h2>Создание множеств и манипуляции над ними</h2>
6 <p>Множество можно создать с помощью соответствующего литерала:</p>
6 <p>Множество можно создать с помощью соответствующего литерала:</p>
7 <p>Литералы множеств записываются в фигурных скобках, как и литералы словарей. Однако внутри скобок через запятую перечисляются только элементы множества. Литерал {} уже занят словарями, поэтому пустое множество создается вызовом функции set без аргументов:</p>
7 <p>Литералы множеств записываются в фигурных скобках, как и литералы словарей. Однако внутри скобок через запятую перечисляются только элементы множества. Литерал {} уже занят словарями, поэтому пустое множество создается вызовом функции set без аргументов:</p>
8 <p>Эту же функцию можно использовать, чтобы создать множество из элементов произвольного количества итераторов или итерируемых элементов:</p>
8 <p>Эту же функцию можно использовать, чтобы создать множество из элементов произвольного количества итераторов или итерируемых элементов:</p>
9 <p>Заметьте, что в множестве каждый уникальный элемент представлен ровно один раз, даже если в коллекции-источнике были повторы.</p>
9 <p>Заметьте, что в множестве каждый уникальный элемент представлен ровно один раз, даже если в коллекции-источнике были повторы.</p>
10 <h2>Проверка на вхождение</h2>
10 <h2>Проверка на вхождение</h2>
11 <p>Для некоторых задач нужно проверять, является ли некое значение элементом множества - другими словами, "входит ли оно в множество" или "принадлежит ли оно множеству". В таких случаях нужно использовать оператор in:</p>
11 <p>Для некоторых задач нужно проверять, является ли некое значение элементом множества - другими словами, "входит ли оно в множество" или "принадлежит ли оно множеству". В таких случаях нужно использовать оператор in:</p>
12 <p>Проверка на вхождение в множество выполняется очень быстро - гораздо быстрее, чем проверка на вхождение в строку, кортеж или список. Так же быстро работает поиск ключа в словаре, потому что словари и множества используют один механизм хранения и поиска ключей.</p>
12 <p>Проверка на вхождение в множество выполняется очень быстро - гораздо быстрее, чем проверка на вхождение в строку, кортеж или список. Так же быстро работает поиск ключа в словаре, потому что словари и множества используют один механизм хранения и поиска ключей.</p>
13 <p>На небольших коллекциях это незаметно. Но разница становится очевидна, если в коллекции есть больше пары десятков элементов и в условиях, когда проверка на вхождение проводится часто.</p>
13 <p>На небольших коллекциях это незаметно. Но разница становится очевидна, если в коллекции есть больше пары десятков элементов и в условиях, когда проверка на вхождение проводится часто.</p>