- Множества в Python
- 1.1. Создание множества на Python
- 1.2. Создание множеств встроенной функцией set
- 1.3. Определение длины множества
- 2.1. Проверка наличия элемента в множестве
- 2.2. Перебор элементов множества
- 3.1. Сравнение множеств.
- 3.2. Математические операции с множествами Python
- Объединение множеств
- Пересечение множеств
- Разность множеств
- Симметрическая разность множеств
- Непересекающиеся множества
- 3.3. Математические операции с изменяемыми множествами
- 4. Добавление и удаление элементов
- метод add()
- метод remove()
- метод discard()
- метод pop()
- метод clear()
- 5. Трансформация множеств на Python
Множества в Python
Множество (set) представляют собой неупорядоченную коллекцию уникальных (неповторяющихся) элементов. Множество могут содержать только не изменяемые объекты. Хотя множества относятся к итерируемым объектам, они не относятся к последовательностям и не поддерживают индексирование и сегментацию.
Содержание страницы: |
---|
1.1. Создание множества на Python |
1.2. Создание множеств встроенной функцией set |
1.3. Определение длины множества |
2.1. Проверка наличия элемента в множестве |
2.2. Перебор элементов множества |
3.1. Сравнение множеств |
3.2. Математические операции с множествами |
3.3. Математические операции с изменяемыми множествами |
4. Добавление и удаление элементов |
5. Трансформация множеств |
1.1. Создание множества на Python
Создание множества (set) происходит с помощью фигурных скобок <> так же, как и словарей, но элементы разделены просто запятыми, без пар «ключ : значение». В отличие от словарей и списков, множества не хранятся в каком-либо определенном порядке.
Повторяющаяся строка ‘red’ была удалена при выводе. Одно из самых важных областей применения множеств — это удаление дубликатов, которое выполняется автоматически. Значения выводятся не в порядке их перечисления, множества неупорядочены.
1.2. Создание множеств встроенной функцией set
Множества можно создавать на базе других коллекций, используя встроенную функцию set() . В примере ниже создается множество на базе списка.
>>> cars = [‘bmw’, ‘audi’, ‘mersedes’, ‘bmw’, ‘ford’]
>>> set(cars)
Если вам нужно создать пустое множество, то нужно использовать функцию set() с пустыми круглыми скобками, вместо фигурных.
1.3. Определение длины множества
Количество элементов определяется при помощи встроенной функции len.
2.1. Проверка наличия элемента в множестве
Для проверки содержания элемента в множестве можно воспользоваться операторами in или not in .
>>> cars =
>>> ‘audi’ in cars
True
>>> ‘audi’ not in cars
False
2.2. Перебор элементов множества
Для перебора элементов можно воспользоваться циклом for .
Так как множества не упорядочены, порядок перебора не имеет значения.
3.1. Сравнение множеств.
Для сравнения множеств в Python можно использовать различные операторы и методы:
>>> ==
True
>>> !=
False
- Оператор > проверяет что все элементы правого операнда присутствуют в левом и левый операнд содержит больше элементов:
>>> >
False
>>> >
True
- Оператор >= проверяет что все элементы правого операнда присутствуют в левом и эти множества могут быть равны. Так же для проверки можно воспользоваться методом issuperset :
>>> >=
True
>>> .issuperset( )
True
>>> >=
True
>>> .issuperset( )
True
3.2. Математические операции с множествами Python
Объединение множеств
Объединение двух множеств называется множество, состоящее из всех уникальный элементов обоих множеств. Для объединения множеств можно воспользоваться оператором | или методом union .
Пересечение множеств
При пересечении двух множеств, получается множество, состоящее из всех уникальных элементов, входящих в оба множества. Пересечение можно вычислить оператором & или методом intersection .
Разность множеств
Разность двух множеств является множество, состоящее из элементов левого операнда, не входящих в правый. Разность можно вычислить оператором — или методом difference .
Симметрическая разность множеств
Симметрической разностью двух множеств является множество, состоящее из элементов каждого множества, не входящих в другое множество. Симметрическую разность можно вычислить оператором ^ или методом symmetric_difference .
Непересекающиеся множества
Непересекающимися множествами называются множества, если они оба не содержат общих элементов. Проверка выполняется методом isdisjoint .
3.3. Математические операции с изменяемыми множествами
В предыдущем разделе мы, выполняя математические операции, создавали новое множество, но также вы можете изменить существующее множество.
- Расширенное присваивание с объединением |= выполняет операцию объединения множеств, как и оператор | , но |= изменяет свой левый операнд. Также вы можете воспользоваться методом update .
>>> numbers =
>>> numbers |=
>>> numbers
- Расширенное присваивание с пересечением &= или intersection_update
- Расширенное присваивание с разностью -= или difference_update
- Расширенное присваивание с симметрической разностью ^= или symmetric_difference_update
4. Добавление и удаление элементов
метод add()
Метод add множества добавляет свой аргумент, если он еще не входит в множество, в противном случае множество остается без изменения.
>>> numbers =
>>> numbers .add( 5 )
>>> numbers
>>> numbers .add( 4 )
>>> numbers
метод remove()
Метод remove() множества удаляет свой аргумент из множества. Если значение отсутствует, то происходит ошибка KeyError:
>>> numbers =
>>> numbers .remove( 4 )
>>> numbers
метод discard()
Метод discard множества также удаляет аргумент, но в случае его отсутствия ошибка не происходит
>>> numbers =
>>> numbers .discard( 2 )
>>> numbers
метод pop()
Метод pop() множества удаляет элемент и возвращает его:
метод clear()
Метод clear() очищает множество:
>>> numbers =
>>> numbers .clear()
>>> numbers
set()
5. Трансформация множеств на Python
Трансформация множеств определяется в фигурных скобках <>. Создадим множество из списка, которое содержит только четные значения: