Diferença de conjunto Python

Resumo : neste tutorial, você aprenderá sobre a diferença de conjuntos do Python e como usá-la para encontrar a diferença entre dois ou mais conjuntos.

Introdução à diferença do conjunto Python

A diferença entre os dois conjuntos resulta em um novo conjunto que possui elementos do primeiro conjunto que não estão presentes no segundo conjunto.

Suponha que você tenha o seguinte s1e s2conjuntos:

s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}Linguagem de código:  JavaScript  ( javascript )

A diferença entre os conjuntos s1e s2resulta no seguinte conjunto com um elemento:

{'Python'}
Linguagem de código:  JavaScript  ( javascript )

…porque só existe 'Python'um elemento do primeiro conjunto que não existe no segundo conjunto.

A diferença definida não é comutativa. A diferença entre os conjuntos s2e s1retorna o seguinte conjunto:

{'C#'}Linguagem de código:  JavaScript  ( javascript )

O seguinte diagrama de Venn ilustra a diferença entre os conjuntos s1e s2:

Diferença de conjunto Python

E o seguinte diagrama de Venn ilustra a diferença entre s2os s1conjuntos e:

Exemplo de diferença de conjunto Python

Em Python, você pode usar o método set difference()ou o operador de diferença de conjunto ( -) para encontrar a diferença entre conjuntos.

1) Usando o método Python Set Difference() para encontrar a diferença entre conjuntos

O Settipo possui um difference()método que retorna a diferença entre dois ou mais conjuntos:

set1.difference(s2, s3, ...)Linguagem de código:  CSS  ( css )

Por exemplo, você pode usar o difference()método set para encontrar a diferença entre conjuntos s1e s2:

s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s1.difference(s2)

print(s)Linguagem de código:  PHP  ( php )

Saída:

{'Python'}Linguagem de código:  JavaScript  ( javascript )

E este exemplo mostra como usar o difference()método set para encontrar a diferença entre os conjuntos s2e s1.

s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s2.difference(s1)

print(s)Linguagem de código:  PHP  ( php )

Saída:

{'C#'}Linguagem de código:  JavaScript  ( javascript )

Observe que o difference()método retorna um novo conjunto. Isso não altera os conjuntos originais.

2) Usando o operador de diferença de conjuntos Python (-) para encontrar a diferença entre conjuntos

Além do difference()método, Python fornece o operador de diferença de conjunto ( -) que permite encontrar a diferença entre conjuntos.

s = s1 - s2

O exemplo a seguir usa o operador de diferença ( -) para encontrar a diferença entre os conjuntos s1e :s2

s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s1 - s2

print(s)Linguagem de código:  PHP  ( php )

E este exemplo usa o operador set Difference para retornar a diferença entre s2e s1:

s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
s = s2 - s1

print(s)
Linguagem de código:  PHP  ( php )

Saída:

{'C#'}Linguagem de código:  JavaScript  ( javascript )

O método set Difference() vs operador Set Difference (-)

O difference()método set pode aceitar um ou mais iteráveis ​​(por exemplo, strings , listas , dicionários ) enquanto o operador de diferença de conjuntos ( -) permite apenas conjuntos.

Quando você passa iteráveis ​​para o difference()método set, ele converte os iteráveis ​​em conjuntos antes de executar a operação de diferença.

O seguinte mostra como usar o difference()método set com uma lista:

scores = {7, 8, 9}
numbers = [9, 10]
new_scores = scores.difference(numbers)

print(new_scores)
Linguagem de código:  PHP  ( php )

No entanto, se você usar o operador de diferença definida ( -) com iteráveis, receberá um erro:

scores = {7, 8, 9}
numbers = [9, 10]
new_scores = scores - numbers

print(new_scores)
Linguagem de código:  PHP  ( php )

Erro:

TypeError: unsupported operand type(s) for -: 'set' and 'list'Linguagem de código:  JavaScript  ( javascript )

Resumo

  • Uma diferença entre dois conjuntos resulta em um novo conjunto contendo elementos do primeiro conjunto que não estão presentes no segundo conjunto.
  • Use o método set difference()ou o operador de diferença de conjuntos ( -) para encontrar a diferença entre os conjuntos.

Deixe um comentário

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