Как ввести множество в питоне input
Перейти к содержимому

Как ввести множество в питоне input

  • автор:

Python. Множества. Основные понятия. Создание множества. Операция in. Операции над множествами создающие новое множество

Множества. Основные понятия. Создание множества. Операция in . Операции над множествами создающие новое множество

Содержание

  • 1. Понятие множества
  • 2. Создание объекта типа «множество». Функция set() . Примеры
  • 3. Базовые операции над множествами. Перечень
  • 4. Операции in , not in . Проверка элемента на вхождение. Пример
  • 5. Операция . Разность множеств. Пример
  • 6. Операция | . Объединение множеств. Пример
  • 7. Операция & . Пересечение множеств. Пример
  • 8. Операция ^ . Симметричная разность. Пример
  • 9. Пример использования множеств для фильтрации списков

Поиск на других ресурсах:

1. Понятие множества

Язык программирования Python имеет средства для работы с множествами. В Python множество – это неупорядоченная коллекция элементов со следующими особенностями:

  • все элементы множества уникальны. Иными словами в множестве не может быть двух одинаковых элементов;
  • элементы множества есть неизменными объектами;
  • элементы множества могут быть разных типов.

В Python множество представлено отдельным типом данных. Множества поддерживают операции, которые существуют в теории множеств из курса математики. Множество может быть пустым (не содержать элементов).

Примеры множеств в виде литералов.

2. Создание объекта типа «множество». Функция set() . Примеры

Чтобы создать объект типа «множество» можно использовать один из нижеследующих способов:

  • с помощью присваивания этому объекту множества элементов в фигурных скобках ;
  • с помощью присваивания объекту некоторого результата, который был возвращен функцией set() . Функция set() позволяет превратить в множество объекты других типов;
  • с помощью присваивания объекту результата некоторой операции над множествами (например, операции & пересечения множеств);
  • с помощью присваивания объекту результата функции frozenset() . Функция frozenset() есть конструктором класса frozenset . Эта функция позволяет получить неизменяемое множество;
  • с помощью присваивания объекту результата функции, возвращающей некоторое множество.

Пример.

3. Базовые операции над множествами. Перечень

Язык Python поддерживает следующие операции над множествами:

  • in – проверка элемента на вхождение в множество;
  • (минус) – разность множеств;
  • | – объединение множеств;
  • & – пересечение множеств;
  • – симметричная разность.
4. Операции in , not in . Проверка элемента на вхождение. Пример

Операция in используется в случаях, когда нужно определить входит ли элемент в множество. Общая форма операции следующая:

  • Item – некоторый объект (элемент), который нужно проверить на вхождение в множество Set . Если объект Item есть в множестве Set , то результат операции будет True . В противном случае результат операции будет False ;
  • Set – некоторое множество.

Как правило, операция in используется в операторах проверки условия.

В программах оператор in можно объединять с другими логическими операторами, например оператором not . В этом случае общая форма инструкции not in следующая

Результат операции not in всегда противоположен результату операции in.

Пример 1.

Пример 2. Объединение оператора in с логическим оператором not .

Результат выполнения программы

5. Операция – . Разность множеств. Пример

В Python операция разность множеств обозначается символом – (минус). Кроме того для определения разности множеств в Python реализована функция difference() .

Общая форма операции следующая:

  • set1 – множество, от которого вычитаются (удаляются) элементы, размещенные в множестве set2 . При вычитании рассматриваются только те элементы, которые являются общими (одинаковыми) для двух множеств. В результате создается новое множество, содержащие элементы множества set1 , которых нет в множестве set2 ;
  • set2 – множество, определяющее элементы, которые нужно вычесть (удалить) из множества set1 .

Операция разности множеств может образовывать цепи. В этом случае общая форма операции следующая:

Пример.

6. Операция | . Объединение множеств. Пример

Объединение множеств a и b – это образование такого множества c , элементы которого есть в множестве a или есть в множестве b . В языке Python для реализации объединения множеств можно использовать операцию | или функцию union() .

Операция объединения множеств | имеет следующую общую форму

  • set1 , set2 – некоторые множества, которые объединяются. Результирующее множество содержит все элементы множества set1 и все элементы множества set2 .

Операция объединения множеств | может образовывать цепи как показано ниже

Пример.

7. Операция & . Пересечение множеств. Пример

Пересечение двух множеств a , b – это множество c, которое содержит общие элементы множеств a , b . Каждый элемент множества c размещается в множестве a а также в множестве b .

В языке Python для реализации пересечения множеств используется операция & или функция intersection() .

Операция пересечения множеств & имеет следующую общую форму

  • set1 , set2 – множества, для которых нужно реализовать так называемое «пересечение». В результате получается новое множество, которое содержит элементы, которые входят в оба множества set1 и set2 . Элементы, которые входят только в одно из множеств set1 , set2 усекаются.

Операция пересечения множеств & может образовывать цепи

Пример.

8. Операция ^ . Симметричная разность. Пример

Для получения симметричной разности множеств в языке Python можно использовать операцию ^ или функцию symmetric_difference() .

Операция симметричной разности множеств есть обратной к операции пересечения множеств & . В этом случае в результирующее множество включаются элементы, которые не являются общими.

Общая форма операции следующая

  • set1 , set2 – множества для которых реализуется симметричная разность. В результате получается новое множество, содержащее элементы, которые не являются общими для множеств set1 , set2 .

Операция ^ может образовывать цепи

Пример.

9. Пример использования множеств для фильтрации списков

В примере определяются числа, входящие в список. Используется свойство множества, которое указывает, что в множестве элемент не может повторяться несколько раз.

Множества в Python set() Примеры

Множества в Python – это структура данных, которые содержат неупорядоченные элементы. Элементы также не является индексированным. Как и список, множество позволяет внесение и удаление элементов. Однако, есть ряд особенных характеристик, которые определяют и отделяют множество от других структур данных:

  • Множество не содержит дубликаты элементов;
  • Элементы множества являются неизменными (их нельзя менять), однако само по себе множество является изменяемым, и его можно менять;
  • Так как элементы не индексируются, множества не поддерживают никаких операций среза и индексирования.

В этой статье мы обсудим различные операции, которые можно применять на множествах в Python.

Содержание:

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

Существует два пути, следуя которым, мы можем создавать множества в Python.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

Мы можем создать множество путем передачи всех элементов множества внутри фигурных скобок <> и разделить элементы при помощи запятых (,) . Множество может содержать любое количество элементов и элементы могут быть разных типов, к примеру, целые числа, строки, кортежи, и т. д. Однако, множество не поддерживает изменяемые элементы, такие как списки, словари, и так далее.

Рассмотрим пример создания множества в Python:

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

Возможно вы обратили внимание на то, что элементы в выдаче выше находятся в другом порядке, отличном от того, как мы добавляли их в множество. Это связано с тем, что элементы множества находятся в произвольном порядке. Если вы запустите тот же код еще раз, возможно вы получите выдачу с элементами, которые каждый раз будут находиться в другом порядке.

Мы также можем создать множество с элементами разных типов. Например:

Все элементы в упомянутом выше множестве принадлежат разным типам.

Мы также можем создать множество из списков. Это можно сделать, вызвав встроенную функцию Python под названием set() . Например:

Как упоминалось ранее, множества не содержат дубликаты элементов. Предположим, наш список содержит дубликаты элементов, как показано ниже:

Множество удалило дубликаты и выдало только по одному экземпляру элементов. Это также происходит при создании множества с нуля. Например:

И снова, множество удалило дубликаты и вернуло только один из дублируемых объектов.

Создание пустого множества подразумевает определенную хитрость. Если вы используете пустые фигурные скобки <> в Python, вы скорее создадите пустой словарь, а не множество. Например:

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

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

Выдача показывает, что мы создали множество.

Доступ к элементам множеств

Python не предоставляет прямой способ получения значения к отдельным элементам множества. Однако, мы можем использовать цикл для итерации через все элементы множества. Например:

Мы также можем проверить наличие элемента во множестве при помощи in , как показано ниже:

Код возвращает «True«, а это означает, что элемент был найден во множестве. Аналогичным образом, при поиске элемента, который отсутствует во множестве, мы получим «False«, как показано ниже:

Как и ожидалось, код вернул «False«.

Добавление элементов во множество

Python позволяет нам вносить новые элементы во множество при помощи функции add() . Например:

Элемент «Feb» успешно внесен во множество. Если это было множество чисел, мы не можем передать новый элемент внутри скобочек, как мы делаем это для строк. Например:

https://amdy.su/wp-admin/options-general.php?page=ad-inserter.php#tab-8

В следующем разделе мы обсудим, как удалять элементы из множеств.

Удаление элемента из множеств

Python позволяет нам удалять элемент из множества, но не используя индекс, так как множество элементов не индексированы. Элементы могут быть удалены при помощи обоих методов discard() и remove() .

Помните, что метод discard() не будет выдавать ошибку, если элемент не был найден во множестве. Однако, если метод remove() используется и элемент не был найден, возникнет ошибка.

Давайте продемонстрируем как удалять элемент при помощи метода discard() :

Элемент 3 был удален из множества.

Аналогично, метод remove() может использоваться следующим образом:

Теперь попробуем удалить элемент, которого нет во множестве. Сначала используем метод discard() :

Выдача выше показывает, что никакого воздействия на множество не было оказано. Теперь посмотрим, что выйдет из использования метода remove() по аналогичному сценарию:

Выдача показывает, что метод выдал ошибку KeyError, так как мы пытались удалить элемент, которого нет во множестве.

С методом pop() , мы можем удалить и вернуть элемент. Так как элементы находятся в произвольном порядке, мы не можем утверждать или предсказать, какой элемент будет удален.

Вы можете использовать тот же метод при удалении элемента и возврате элементов, которые остаются во множестве. Например:

Эти элементы остаются во множестве.

Метод Python под названием clear() поможет удалить все элементы во множестве. Например:

Результатом является пустой set() без каких-либо элементов внутри.

Объединение множеств

Предположим, у нас есть два множества, А и В. Объединение этих двух множеств — это множество со всеми элементами обеих множеств. Такая операция выполняется при помощи функции Python под названием union() .

Объединение может состоять из более чем двух множеств, и все их элементы сложатся в одно большое множество. Например:

При выполнении операции объединения, дубликаты игнорируются, так что только один из двух элементов дубликатов будет отображаться. Например:

Оператор | может также использоваться при поиске объединения двух или более множеств. Например:

Если вы хотите создать объединение из более двух множеств, разделите названия множеств при помощи оператора | . Взглянем на пример:

Пересечение множеств

Предположим, у вас есть два множества: А и В. Их пересечение представляет собой множество элементов, которые являются общими для А и для В.

Операция пересечения во множествах может быть достигнута как при помощи оператора & , так и метода intersection() . Рассмотрим пример:

В обеих множествах 3 является общим элементом. То же самое может быть достигнуто при использовании метода intersection() :

В следующем разделе мы обсудим, как определить разницу между множествами.

Разница между множествами

Предположим, у вас есть два множества: А и В. Разница между А и В (А — В) — это множество со всеми элементами, которые содержатся в А, но не в В. Соответственно, (В — А) — это множество со всеми элементами в В, но не в А.

Для определения разницы между множествами в Python, мы можем использовать как функцию difference(), так и оператор — . Рассмотрим пример:

В показанном выше скрипте, только первые три элемента множества set_a отсутствуют во множестве set_b , формируя нашу выдачу. Оператор минус — можно также применить для нахождения разницы между двумя множествами, как показано ниже:

Симметричная разница между множествами А и В — это множество с элементами, которые находятся в А и В, за исключением тех элементов, которые являются общими для обеих множеств. Это определяется использованием метода Python под названием symmetric_difference() , или оператора ^ . Посмотрим на пример:

Симметричную разницу можно также найти следующим образом:

Сравнение множеств

Мы можем сравнить множества в зависимости от того, какие элементы в них содержатся. Таким образом, мы можем сказать, является ли множество родительским, или дочерним от другого множества. Результат такого сравнения будет либо True , либо False .

Чтобы проверить, является ли множество А дочерним от В, мы можем выполнить следующую операцию:

Чтобы узнать является ли множество В дочерним от А, мы можем выполнить следующую операцию, соответственно:

Дочернее и родительское множество может также быть проверено при помощи методов issubset() и issuperset() , как показано ниже:

В следующем разделе мы обсудим некоторые из наиболее часто используемых методов для манипуляции множествами, предоставленных в Python, которые мы не успели упомянуть.

Методы множеств

Python содержит огромное количество встроенных методов, включая следующие:

Метод copy()

Этот метод возвращает копию множества. Например:

Выдача показывает, что х является копией множества string_set .

Метод isdisjoint()

Этот метод проверяет, является ли множество пересечением или нет. Если множества не содержат общих элементов, метод возвращает True , в противном случае — False . Например:

Оба множества не имеют общих элементов, что делает выдачу True .

Метод len()

Этот метод возвращает длину множества, которая является общим количеством элементов во множестве. Пример:

Выдача показывает, что длина множества является 4.

Frozenset в Python

Frozenset (замороженное множество) – это класс с характеристиками множества, однако, как только элементы становятся назначенными, их нельзя менять. Кортежи могут рассматриваться как неизменяемые списки, в то время как frozenset-ы — как неизменные множества.

Множества являются изменяемыми и нехешируемыми, это значит, что мы не можем использовать их как словарные ключи. Замороженные множества (frozenset) являются хешированными и могут использоваться в качестве ключей словаря.

Для создания замороженного множества, мы используем метод frozenset() . Давайте создадим два замороженных множества, Х и Y:

Замороженные множества поддерживают использование множественных методов Python, таких как copy() , difference() , symmetric_difference() , isdisjoint() , issubset() , intersection() , issuperset() и union() .

Вывод

Данная статья предоставляет подробное введение во множества языка программирования Python. Математическое определение множеств аналогично определению множеств в Python.

Множество — это набор элементов в произвольном порядке. Само по себе, множество является изменяемым, однако его элементы являются неизменяемыми.

Однако, мы можем добавлять и убирать элементы из множества без каких-либо проблем. В большей структур данных элементы являются индексированными. Однако, элементы множеств не являются индексированными. Это делает невозможным для нас выполнять операции, которые направлены на определенные элементы множества.

Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.

Словари и множества в Python

Множество в языке Python — это структура данных, эквивалентная множествам в математике. Элементы могут быть различных типов. Порядок элементов не определён.

Действия, которые можно выполнять с множеством:

  1. добавлять и удалять элементы,
  2. проверять принадлежность элемента множеству,
  3. перебирать его элементы,
  4. выполнять операции над множествами (объединение, пересечение, разность).

Операция “проверить принадлежность элемента” выполняется в множестве намного быстрее, чем в списке.

Элементами множества может быть любой неизменяемый тип данных: числа, строки, кортежи.

Изменяемые типы данных не могут быть элементами множества, в частности, нельзя сделать элементом множества список (вместо этого используйте неизменяемый кортеж) или другое множество. Требование неизменяемости элементов множества накладывается особенностями представления множества в памяти компьютера.

Задание множеств

Множество задается перечислением в фигурных скобках. Например:

Исключением явлеется пустое множество:

Если функции set передать в качестве параметра список, строку или кортеж, то она вернет множество, составленное из элементов списка, строки, кортежа. Например:

Каждый элемент может входить в множество только один раз.

Работа с элементами множеств

Операция Значение
x in A принадлежит ли элемент x множеству A (возвращают значение типа bool )
x not in A то же, что not x in A
A.add(x) добавить элемент x в множество A
A.discard(x) удалить элемент x из множества A
A.remove(x) удалить элемент x из множества A
A.pop() удаляет из множества один случайный элемент и возвращает его

Поведение discard и remove различается тогда, когда удаляемый элемент отсутствует в множестве: discard не делает ничего, а метод remove генерирует исключение KeyError . Метод pop также генерирует исключение KeyError , если множество пусто.

При помощи цикла for можно перебрать все элементы множества:

Из множества можно сделать список при помощи функции list :

Упражнение №1

Вывести на экран все элементы множества A, которых нет в множестве B.

Операции с множествами, обычные для математики

Упражнение №2

Даны четыре множества:

Найти элементы, принадлежащие множеству E :

Словарь (ассоциативный массив)

В массиве или в списке индекс — это целое число. Традиционной является следующая ситуация:

А как реализовать обратное соответствие?

При помощи списка или массива это сделать невозможно, нужно использовать ассоциативный массив или словарь.

В словаре индекс может быть любого неизменяемого типа! Индексы, как и сами хранимые значения, задаются явно:

При попытке обратиться к несуществующему элементу ассоциативного массива мы получаем исключение KeyError .

Особенностью ассоциативного массива является его динамичность: в него можно добавлять новые элементы с произвольными ключами и удалять уже существующие элементы.

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

Значения ключей уникальны , двух одинаковых ключей в словаре быть не может. А вот значения могут быть одинаковыми.

Ключом может быть произвольный неизменяемый тип данных: целые и действительные числа, строки, кортежи. Ключом в словаре не может быть множество, но может быть элемент типа frozenset: специальный тип данных, являющийся аналогом типа set, который нельзя изменять после создания. Значением элемента словаря может быть любой тип данных, в том числе и изменяемый.

Создание словаря

Пустой словарь можно создать при помощи функции dict() или пустой пары фигурных скобок <> (вот почему фигурные скобки нельзя использовать для создания пустого множества).

Для создания словаря с некоторым набором начальных значений можно использовать следующие конструкции:

Также можно использовать генерацию словаря через Dict comprehensions:

Это особенно полезно, когда нужно «вывернуть» словарь наизнанку:

Операции с элементами словарей

Перебор элементов словаря по ключу

Представления элементов словаря

Представления во многом похожи на списки, но они остаются связанными со своим исходным словарём и изменяются, если менять значения элементов словаря.

  • Метод keys возвращает представление ключей всех элементов.
  • Метод values возвращает представление всех значений.
  • Метод items возвращает представление всех пар (кортежей) из ключей и значений.

Учтите что итерироваться по представлениям изменяя словарь нельзя

Можно, если в начале скопировать представление в список

Пример использования словаря

Когда нужно использовать словари

Словари нужно использовать в следующих случаях:

  • Подсчет числа каких-то объектов. В этом случае нужно завести словарь, в котором ключами являются объекты, а значениями — их количество.
  • Хранение каких-либо данных, связанных с объектом. Ключи — объекты, значения — связанные с ними данные. Например, если нужно по названию месяца определить его порядковый номер, то это можно сделать при помощи словаря Num[‘January’] = 1; Num[‘February’] = 2; .
  • Установка соответствия между объектами (например, “родитель—потомок”). Ключ — объект, значение — соответствующий ему объект.
  • Если нужен обычный массив, но при этом масимальное значение индекса элемента очень велико, но при этом будут использоваться не все возможные индексы (так называемый “разреженный массив”), то можно использовать ассоциативный массив для экономии памяти.

Практическая работа по использованию словарей

Упражнение №3. Подсчет слов

Дан текст на некотором языке. Требуется подсчитать сколько раз каждое слово входит в этот текст и вывести десять самых часто употребяемых слов в этом тексте и количество их употреблений.

В качестве примера возьмите файл с текстом лицензионного соглашения Python /usr/share/licenses/python/LICENSE .

Подсказка №1: Используйте словарь, в котором ключ — слово, а знчение — количество таких слов.

Подсказка №2: Точки, запятые, вопросы и восклицательные знаки перед обработкой замените пробелами(используйте punctuation из модуля string).

Подсказка №3: Все слова приводите к нижнему регистру при помощи метода строки lower() .

Подсказка №4: По окончании сбора статистики нужно пробежать по всем ключам из словаря и найти ключ с максимальным значением.

Упражнение №4. Перевод текста

Дан словарь task4/en-ru.txt с однозначным соответствием английских и русских слов в таком формате:

cat — кошка

dog — собака

mouse — мышь

house — дом

eats — ест

in — в

too — тоже

Здесь английское и русское слово разделены двумя табуляциями и минусом: ‘\t-\t’ .

В файле task4/input.txt дан текст для перевода, например:

Требуется сделать подстрочный перевод с помощью имеющегося словаря и вывести результат в output.txt . Незнакомые словарю слова нужно оставлять в исходном виде.

Упражнение №5. Страны и Языки

Дан список стран и языков на которых говорят в этой стране в формате <Название Страны> : <язык1> <язык2> <язык3> . в файле task5/input.txt. На ввод задается N — длина списка и список языков. Для каждого языка укажите, в каких странах на нем говорят.

Ввод Вывод
3
азербайджанский Азербайджан
греческий Кипр Греция
китайский Китай Сингапур

Упражнение №6. Сделать русско-английский словарь

В файле task6/en-ru.txt находятся строки англо-русского словаря в таком формате:

Здесь английское слово (выражение) и список русских слов (выражений) разделены двумя табуляциями и минусом: ‘\t-\t’ .

Требуется создать русско-английский словарь и вывести его в файл ru-en.txt в таком формате:

Порядок строк в выходном файле должен быть словарным с человеческой точки зрения (так называемый лексикографический порядок слов). То есть выходные строки нужно отсортировать.

Упражнение №7. Синхронизация словарей

Даны два файла словарей: task7/en-ru.txt и task7/ru-en.txt (в формате, описанном в упражнении №6).

Требуется синхронизировать и актуализировать их содержимое.

Упражнение №8. Добродушные соседи

В одном очень дружном доме, где живет Фёдор, многие жильцы оставляют ключи от квартиры соседям по дому, например на случай пожара или потопа, да и просто чтобы покормили животных или полили цветы.

Вернувшись домой после долгих странствий, Фёдор обнаруживает, что потерял свои ключи и соседей дома нет. Но вдруг у домофона он находит чужие ключи. Помогите Федору найти ключи от своей квартиры в квартирах соседей.

На ввод подается файл input.txt, в котором в первой строке записано три числа через пробел N — номер квартиры Фёдора, M — номер квартиры от которой Федор нашел ключи, K — ключ от этой квартиры. Далее i-я строка хранит описание ключей запертых в i-й квартире в формате <m_i0 — номер квартиры> <k_i0 — ключ>,<m_i1 — номер квартиры> <k_i1 — ключ>. , причем реальные номера квартир «зашифрованы» ключем от i-й квартиры(Ki) и находятся по формуле m_ij’ = m_ij — Ki. Номера квартир начинаются с 0 (кпримеру вторая строка файла соответствует 0-й квартире).

Нужно вывести ключ от квартиры Федора или None если его найти не получилось.

Ввод Вывод
4 0 1 1
1 1,2 0,3 1,4 0
3 0
5 1,6 0
1 1
2 1

Подсказка: используйте словарь для хранения ключей от еще не открытых комнат и множество для уже проверенных комнат.

Упражнение №9. Факультативно: генератор бреда

Дан текст-образец, по которому требуется сделать генератор случайного бреда на основе Марковских цепей.

Как ввести множество в питоне input

Множество в языке Питон — это структура данных, эквивалентная множествам в математике. Множество может состоять из различных элементов, порядок элементов в множестве неопределен. В множество можно добавлять и удалять элементы, можно перебирать элементы множества, можно выполнять операции над множествами (объединение, пересечение, разность). Можно проверять принадлежность элемента множеству.

В отличие от массивов, где элементы хранятся в виде последовательного списка, в множествах порядок хранения элементов неопределен (более того, элементы множества хранятся не подряд, как в списке, а при помощи хитрых алгоритмов). Это позволяет выполнять операции типа “проверить принадлежность элемента множеству” быстрее, чем просто перебирая все элементы множества.

Элементами множества может быть любой неизменяемый тип данных: числа, строки, кортежи. Изменяемые типы данных не могут быть элементами множества, в частности, нельзя сделать элементом множества список (но можно сделать кортеж) или другое множество. Требование неизменяемости элементов множества накладывается особенностями представления множества в памяти компьютера.

Задание множеств

Множество задается перечислением всех его элементов в фигурных скобках. Исключением явлеется пустое множество, которое можно создать при помощи функции set() . Если функции set передать в качестве параметра список, строку или кортеж, то она вернёт множество, составленное из элементов списка, строки, кортежа. Например:

Каждый элемент может входить в множество только один раз, порядок задания элементов неважен. Например, программа:

выведет True , так как A и B — равные множества.

Каждый элемент может входить в множество только один раз. set(‘Hello’) вернет множество из четырех элементов: <'H', 'e', 'l', 'o'>.

Работа с элементами множеств

Узнать число элементов в множестве можно при помощи функции len .

Перебрать все элементы множества (в неопределенном порядке!) можно при помощи цикла for :

Проверить, принадлежит ли элемент множеству можно при помощи операции in , возвращающей значение типа bool . Аналогично есть противоположная операция not in . Для добавления элемента в множество есть метод add :

Для удаления элемента x из множества есть два метода: discard и remove . Их поведение различается только в случае, когда удаляемый элемент отсутствует в множестве. В этом случае метод discard не делает ничего, а метод remove генерирует исключение KeyError .

Наконец, метод pop удаляет из множества один случайный элемент и возвращает его значение. Если же множество пусто, то генерируется исключение KeyError .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *