Россия и Беларусь начали и продолжают войну против народа Украины!

Множество (set) в Python

  Акод  | 

  Обновл. 26 Апр 2023  | 

 481

Множество (set) в Python — это набор уникальных данных. Элементы множества не могут дублироваться. Множество может содержать любое количество элементов, и они могут быть разных типов (int, float, кортеж, строки и т.д.). Но множество не может иметь изменяемые элементы, такие как списки, словари или другие множества. Для создания множества все элементы помещают внутри фигурных скобок {}, разделенных запятыми.

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

В Python для создания множества все элементы помещают внутри фигурных скобок {}, разделенных запятыми.

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

Рассмотрим пример:

Результат:

Student ID: {112, 114, 115, 116, 118}
Vowel Letters: {'u', 'a', 'e', 'i', 'o'}
Set of mixed data types: {'Hello', 'Bye', 101, -2}

Здесь мы создали различные типы множеств, поместив все элементы внутри фигурных скобок {}.

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

Создание пустого множества — дело нехитрое. Пустые фигурные скобки {} создадут пустой словарь в Python. А для создания пустого множества нужно использовать функцию set() без каких-либо аргументов. Например:

Результат:

Data type of empty_set: <class 'set'>
Data type of empty_dictionary <class 'dict'>

Здесь:

   empty_set — пустое множество, созданное с помощью set();

   empty_dictionary — пустой словарь, созданный с помощью {}.

Наконец, мы использовали функцию type() для определения типа данных empty_set и empty_dictionary.

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


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

Результат:

{8, 2, 4, 6}

Здесь мы видим, что в множестве нет одинаковых элементов, так как оно не может содержать дубли.

Добавление, обновление и удаление элементов множества в Python

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

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

В Python метод add() используется для добавления элемента в множество. Например:

Результат:

Initial Set: {34, 12, 21, 54}
Updated Set: {32, 34, 12, 21, 54}

Здесь мы создали множество с именем numbers. Обратите внимание на строку:

Здесь add() добавляет значение 32 к нашему множеству.

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

В Python метод update() используется для обновления множества элементами других типов данных (списки, кортежи и т.д.). Например:

Результат:

{'Lacoste', 'Ralph Lauren', 'apple', 'google'}

Здесь все уникальные элементы tech_companies добавляются в множество companies.

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

В Python метод discard() используется для удаления указанного элемента из множества. Например:

Результат:

Initial Set: {'Python', 'Swift', 'Java'}
Set after remove(): {'Python', 'Swift'}

Здесь мы использовали метод discard(), чтобы удалить 'Java' из множества language.

Итерация по множеству в Python


Результат:

Mango
Peach
Apple

Определение количества элементов множества

В Python метод len() используется для определения количества элементов, присутствующих в множестве. Например:

Результат:

Set: {8, 2, 4, 6}
Total Elements: 4

Операции с множествами в Python


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

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

Объединение двух множеств A и B включает в себя все элементы множеств A и B.

Для выполнения операции объединения множеств используется оператор | или метод union(). Например:

Результат:

Union using |: {0, 1, 2, 3, 4, 5}
Union using union(): {0, 1, 2, 3, 4, 5}

Примечание: A | B и union() эквивалентны операции множества A ⋃ B.

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

Пересечение двух множеств A и B включает в себя общие элементы между множествами A и B.

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

Результат:

Intersection using &: {1, 3}
Intersection using intersection(): {1, 3}

Примечание: A & B и intersection() эквивалентны операции множества A ⋂ B.

Разность множеств

Разница между двумя множествами A и B включает в себя элементы множества A, которых нет в множестве B.

В Python для выполнения операции разности между двумя множествами используется оператор - или метод difference(). Например:

Результат:

Difference using -: {3, 5}
Difference using difference(): {3, 5}

Примечание: A - B и A.difference(B) эквивалентны операции множества A - B.

Симметрическая разность множеств

Симметрическая разность двух множеств A и B включает в себя все элементы A и B без общих элементов.

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

Результат:

using ^: {1, 3, 5, 6}
using symmetric_difference(): {1, 3, 5, 6}

Проверка, являются ли два множества равными

В Python оператор == используется, чтобы проверить, равны ли два множества. Например:

Результат:

Set A and Set B are equal

Здесь  A и B имеют одинаковые элементы, поэтому условие

вычисляется в True. Следовательно, выполняется print('Set A and Set B are equal') внутри if.

Методы для работы с множествами в Python

Функции Описание
add() Добавляет элемент к множеству.
all() Возвращает True, если все элементы множества True (или если множество пустое).
any() Возвращает True, если хоть один из элементов множества True. Если множество пустое, возвращается False.
clear() Удаляет все элементы из множества.
copy() Возвращает копию множества.
difference() Возвращает разность двух или более множеств в виде нового множества.
difference_update() Удаляет все элементы другого множества из текущего множества.
discard() Удаляет элемент из множества, если он является его частью. (Ничего не делает, если элемент не находится в множестве)
enumerate() Возвращает объект перечисления, который содержит индекс и значение для всех элементов множества в виде пары.
intersection() Возвращает пересечение двух множеств в виде нового множества.
intersection_update() Обновляет множество пересечением себя и другого множества.
isdisjoint() Возвращает True, если два множества не имеют пересечение.
issubset() Возвращает True, если другое множество содержит текущее множество.
issuperset() Возвращает True, если текущее множество содержит другое множество.
len() Возвращает длину (количество элементов) в множестве.
max() Возвращает самый большой элемент в множестве.
min() Возвращает наименьший элемент в множестве.
pop() Удаляет и возвращает произвольный элемент множества. Вызывает ошибку KeyError, если множество пустое.
remove() Удаляет элемент из множества. Если элемент не является членом множества, возникает ошибка KeyError.
sorted() Возвращает новый отсортированный список из элементов множества (но не выполняет сортировку).
sum() Возвращает сумму всех элементов множества.
symmetric_difference() Возвращает симметрическую разность двух множеств в виде нового множества.
symmetric_difference_update() Обновляет множество с симметрической разностью себя и другого.
union() Возвращает объединение множеств в новом множестве.
update() Обновляет множество с объединением себя и других.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

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

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