Interseção de conjunto Python

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 s1e 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 s1e s2:

Exemplo de interseção de conjunto Python

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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *