View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Sometimes, while working with records, we might have a common problem of subtracting the contents of one tuple with the corresponding index of other tuple. This has application in almost all the domains in which we work with tuple records. Let’s discuss certain ways in which this task can be performed.
Method #1: Using map[] + lambda Combination of the above functionalities can solve the problem for us. In this, we compute the subtraction using lambda functions and extend the logic to keys using map[].
Python3
test_tup1
=
[
10
,
4
,
5
]
test_tup2
=
[
2
,
5
,
18
]
print
["The original
tuple
1
: "
+
str
[test_tup1]]
print
["The original
tuple
2
: "
+
str
[test_tup2]]
res
=
tuple
[
map
[
lambda
i, j: i
-
j, test_tup1, test_tup2]]
print
["Resultant
tuple
after subtraction : "
+
str
[res]]
Output :
The original tuple 1 : [10, 4, 5] The original tuple 2 : [2, 5, 18] Resultant tuple after subtraction : [8, -1, -13]
Method #2: Using map[] + sub[] The combination of above functions can help us achieve this task. In this, we first extend the logic to all using map[] and then perform subtraction of each index using sub[].
Python3
import
operator
test_tup1
=
[
10
,
4
,
5
]
test_tup2
=
[
2
,
5
,
18
]
print
["The original
tuple
1
: "
+
str
[test_tup1]]
print
["The original
tuple
2
: "
+
str
[test_tup2]]
res
=
tuple
[
map
[operator.sub, test_tup1, test_tup2]]
print
["Resultant
tuple
after subtraction : "
+
str
[res]]
Output :
The original tuple 1 : [10, 4, 5] The original tuple 2 : [2, 5, 18] Resultant tuple after subtraction : [8, -1, -13]
Method #3 : Using for loop and tuple[] method
Python3
test_tup1
=
[
10
,
4
,
5
]
test_tup2
=
[
2
,
5
,
18
]
print
[
"The original tuple 1 : "
+
str
[test_tup1]]
print
[
"The original tuple 2 : "
+
str
[test_tup2]]
res
=
[]
for
i
in
range
[
0
,
len
[test_tup1]]:
res.append[test_tup1[i]
-
test_tup2[i]]
res
=
tuple
[res]
print
[
"Resultant tuple after subtraction : "
+
str
[res]]
Output
The original tuple 1 : [10, 4, 5] The original tuple 2 : [2, 5, 18] Resultant tuple after subtraction : [8, -1, -13]
I have 2 sets of tuples with strings inside.
tuple_1 = ['A', '487']
['B', '42']
['A', '357']
['A', '440']
tuple_2 = ['A', '440']
['A', '440']
['B', '42']
['A', '503']
['A', '436']
I want to subtract tuple_1 from tuple_2 and get the output such that answer will contain the tuples which does not contain in tuple_2.
answer for the above one should be
tuple_answer = ['A', '487']
['A', '357']
['A', '440']
and ['B', '42']
should get removed as it contains in both. anybody has an idea, how to do this?
Thank you in advance.