Resumo : neste tutorial, você aprenderá sobre a interseção de conjuntos do Python e como usá-la para cruzar dois ou mais conjuntos.
DR
Em Python, você pode usar o intersection()
método set ou o operador de interseção de conjunto (&) para cruzar dois ou mais conjuntos :
new_set = set1.intersection(set2, set3)
new_set = set1 & set2 & set3
O método intersecção() e o operador & têm o mesmo desempenho.
Introdução à interseção de conjuntos Python
Ao cruzar dois ou mais conjuntos , você obterá um novo conjunto composto por elementos que existem em todos os conjuntos.
Suponha que você tenha dois conjuntos a seguir s1
e s2
:
s1 = {'Python', 'Java','C++'}
s2 = {'C#', 'Java', 'C++' }
Linguagem de código: JavaScript ( javascript )
A interseção desses dois conjuntos retorna um novo conjunto que contém dois elementos 'Java'
e 'C++'
:
s = {'Java', 'C++'}
Linguagem de código: JavaScript ( javascript )
… porque são os únicos elementos que existem em ambos os conjuntos.
O seguinte diagrama de Venn ilustra a intersecção de dois conjuntos s1
e s
2:
A interseção definida tem muitas aplicações úteis. Por exemplo, você pode usar interseções definidas para localizar os favoritos comuns de dois amigos em um aplicativo de rede social ou para pesquisar habilidades comuns de dois ou mais funcionários em um aplicativo de RH.
Em Python, você pode cruzar dois ou mais conjuntos usando o intersection()
método set ou o operador de interseção de conjuntos ( &
).
1) Usando o método Python set intersection() para cruzar dois ou mais conjuntos
Este exemplo mostra como usar o intersection()
método set para cruzar dois ou mais conjuntos:
new_set = set1.intersection(set2, set3, ...)
O seguinte mostra como usar o intersection()
método para cruzar os conjuntos s1 e s2:
s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s1.intersection(s2)
print(s)
Linguagem de código: PHP ( php )
Saída:
{'C++', 'Java'}
Linguagem de código: JavaScript ( javascript )
2) Usando o operador de interseção de conjunto Python (&) para cruzar dois ou mais conjuntos
Python fornece o operador de interseção de conjuntos ( &
) que permite cruzar dois ou mais conjuntos:
new_set = s1 & s2 & s3 & ...
O exemplo a seguir usa o operador de interseção de conjunto ( &
) para cruzar os conjuntos s1 e s2:
s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s1 & s2
print(s)
Linguagem de código: PHP ( php )
Saída:
new_set = s1 & s2 & s3 & ...
Definir método de intersecção() vs definir operador de interseção (&)
O operador de interseção set permite apenas conjuntos, enquanto o intersection()
método set pode aceitar quaisquer iteráveis , como strings , listas e dicionários .
Se você passar iteráveis para o intersection()
método, ele converterá os iteráveis em set antes de intersectá-los.
No entanto, o operador de interseção definido ( &
) gerará um erro se você usá-lo com iteráveis.
O exemplo a seguir usa o intersection()
método para cruzar um conjunto com uma lista:
numbers = {1, 2, 3}
scores = [2, 3, 4]
numbers = numbers.intersection(scores)
print(numbers)
Linguagem de código: PHP ( php )
Saída:
{2, 3}
Se você usar o operador de interseção definido ( &
), receberá um erro:
numbers = {1, 2, 3}
scores = [2, 3, 4]
numbers = numbers & scores
print(numbers)
Linguagem de código: PHP ( php )
Saída:
TypeError: unsupported operand type(s) for &: 'set' and 'list'
Linguagem de código: JavaScript ( javascript )
Resumo
- A interseção de dois ou mais conjuntos retorna elementos que existem em todos os conjuntos.
- Use o
intersection()
método ou operador de interseção de conjuntos (&
) para cruzar dois ou mais conjuntos.