Às vezes, ao trabalhar com tuplas, podemos ter um problema em que precisamos de recursos diferentes de dois registros. Este tipo de aplicação pode vir no domínio da Ciência de Dados. Vamos discutir algumas maneiras pelas quais esse problema pode ser resolvido.

Método # 1: usando set() + "^" operator

Esta tarefa pode ser executada usando a funcionalidade de diferença simétrica oferecida pelo operador XOR em conjuntos. A conversão para o conjunto é feita por set().

test_tup1 = (3, 4, 5, 6) 
test_tup2 = (5, 7, 4, 10) 
print("The original tuple 1 : " + str(test_tup1)) 
print("The original tuple 2 : " + str(test_tup2)) 
res = tuple(set(test_tup1) ^ set(test_tup2)) 
print("The Dissimilar elements from tuples are : " + str(res)) 
Resultado :
A tupla original 1: (3, 4, 5, 6)
A tupla original 2: (5, 7, 4, 10)
Os elementos diferentes das tuplas são: (3, 6, 7, 10)

 



Método 2: Usando symmetric_difference() + set()

Este é um método semelhante ao método acima, a diferença é que em vez do operador XOR, usamos a função embutida para realizar a tarefa de filtrar elementos diferentes.

test_tup1 = (3, 4, 5, 6) 
test_tup2 = (5, 7, 4, 10) 
print("The original tuple 1 : " + str(test_tup1)) 
print("The original tuple 2 : " + str(test_tup2)) 
res = tuple(set(test_tup1).symmetric_difference(set(test_tup2))) 
print("The Dissimilar elements from tuples are : " + str(res)) 
Resultado :
A tupla original 1: (3, 4, 5, 6)
A tupla original 2: (5, 7, 4, 10)
Os elementos diferentes das tuplas são: (3, 6, 7, 10)