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 s1
e s2
conjuntos:
s1 = {'Python', 'Java', 'C++'}
s2 = {'C#', 'Java', 'C++'}
Linguagem de código: JavaScript ( javascript )
A diferença entre os conjuntos s1
e s2
resulta 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 s2
e s1
retorna o seguinte conjunto:
{'C#'}
Linguagem de código: JavaScript ( javascript )
O seguinte diagrama de Venn ilustra a diferença entre os conjuntos s1
e s2
:
E o seguinte diagrama de Venn ilustra a diferença entre s2
os s1
conjuntos e:
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 Set
tipo 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 s1
e 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 s2
e 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 s1
e :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 s2
e 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.