Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 65

Основываясь на рис. 3.1, можно сказать, что пустым будет множество, которое со-

держит женские имена, начинающиеся с буквы «Х».

Рис. 3.1. Распространенные операции с множествами

92

Глава 3. Наполнение Python: списки, кортежи, словари и множества

Создание множества с помощью функции set()

Чтобы создать множество, вам следует использовать функцию set() или разме-

стить в фигурных скобках одно или несколько разделенных запятыми значений,

как показано здесь:

>>> empty_set = set()

>>> empty_set

set()

>>> even_numbers = {0, 2, 4, 6, 8}

>>> even_numbers

{0, 8, 2, 4, 6}

>>> odd_numbers = {1, 3, 5, 7, 9}

>>> odd_numbers

{9, 3, 1, 5, 7}

Как и в случае со словарем, порядок ключей в множестве не имеет значения.

Поскольку пустые квадратные скобки [] создают пустой список, вы могли бы рассчитывать

на то, что пустые фигурные скобки {} создают пустое множество. Вместо этого пустые фи-

гурные скобки создают пустой словарь. Именно поэтому интерпретатор выводит пустое

множество как set() вместо {}. Почему так происходит? Словари появились в Python раньше

и успели захватить фигурные скобки в свое распоряжение.

Преобразование других типов данных

с помощью функции set()

Вы можете создать множество из списка, строки, кортежа или словаря, потеряв все

повторяющиеся значения.

Для начала взглянем на строку, которая содержит более чем одно включение

некоторых букв:

>>> set('letters')

{'l', 'e', 't', 'r', 's'}

Обратите внимание на то, что множество содержит только одно включение

букв «e» или «t», несмотря на то, что в слове letters по два включения каждой из

них.

Создадим множество из списка:

>>> set(['Dasher', 'Dancer', 'Prancer', 'Mason-Dixon'])

{'Dancer', 'Dasher', 'Prancer', 'Mason-Dixon'}

А теперь из кортежа:

>>> set(('Ummagumma', 'Echoes', 'Atom Heart Mother'))

{'Ummagumma', 'Atom Heart Mother', 'Echoes'}

Множества

93

Когда вы передаете функции set() словарь, она возвращает только ключи:

>>> set({'apple': 'red', 'orange': 'orange', 'cherry': 'red'})

{'apple', 'cherry', 'orange'}

Проверяем на наличие значения

с помощью ключевого слова in

Такое использование множеств самое распространенное. Мы создадим словарь,

который называется drinks. Каждый ключ будет названием коктейля, а соот-