Hướng dẫn subtract tuples python

View Discussion

Improve Article

Save Article

  • Read
  • Discuss
  • 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.

    Chủ Đề