2 способа объединения множеств в Python
В этом уроке вы узнаете 2 способа, как объединить два или более множества в Python: с помощью метода Union() или оператора объединения(|).
- Объединение множеств в Python
- Объединение с помощью метода Union()
- Объединение с помощью оператора |
- Отличия использования метода Union() от оператора объединения (|)
Объединение множеств в Python
Объединение двух множеств возвращает новое множество, содержащее отдельные элементы из обоих наборов.
Предположим, что у вас есть следующие множества:
s1 = {'Python', 'Java'} s2 = {'C#', 'Java'}
Объединение множеств s1 и s2 возвращает следующий набор:
{'Java','Python', 'C#'}
Обычно диаграмму Венна используют для иллюстрации объединения двух множеств. Например:
Объединение с помощью метода 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() принимает итерации, тогда как оператор объединения(|) допускает только множества.