2 способа объединения множеств в Python

В этом уроке вы узнаете 2 способа, как объединить два или более множества в Python: с помощью метода Union() или оператора объединения(|).

Содержание

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

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

Предположим, что у вас есть следующие множества:

s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}

Объединение множеств s1 и s2 возвращает следующий набор:

{'Java','Python', 'C#'}

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

Пример объединения множеств в Python

Объединение с помощью метода Union()

В Python для объединения двух или более множеств используется метод Union():

new_set = set.union(another_set, ...)

В следующем примере показано, как объединить множества s1 и s2:

s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}

s = s1.union(s2)

print(s)

Выход:

{'Python', 'Java', 'C#'}

Объединение с помощью оператора |

Python предоставляет вам оператор объединения(|), который позволяет объединить два множества:

new_set = set1 | set2

Оператор объединения множеств(|) возвращает новое множество, состоящее из различных элементов из set 1 и set 2.

В следующем примере показано, как использовать оператор(|) для объединения множеств s1 и s2:

s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}

s = s1 | s2

print(s)

Выход:

{'Java', 'C#', 'Python'}

Отличия использования метода Union() от оператора объединения (|)

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

В следующем примере показано, как передать список методу Union():

rates = {1, 2, 3}
ranks = [2, 3, 4]

ratings = rates.union(ranks)

print(ratings)

Выход:

{1, 2, 3, 4}

Однако оператор объединения(|) допускает только множества, а не итерации, как метод Union().

Следующий пример вызывает ошибку:

rates = {1, 2, 3}
ranks = [2, 3, 4]

ratings = rates | ranks

Ошибка:

TypeError: unsupported operand type(s) for |: 'set' and 'list'

В заключение, метод Union() принимает итерации, тогда как оператор объединения(|) допускает только множества.

Похожие посты
Добавить комментарий

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