Thursday, February 29, 2024
HomeSoftware EngineeringThe best way to Subtract Arrays in Python

The best way to Subtract Arrays in Python


The problem

Implement a distinction perform, which subtracts one listing from one other and returns the outcome.

It ought to take away all values from listing a, that are current in listing b protecting their order.

arrayDiff([1,2],[1]) == [2]

If a price is current in b, all of its occurrences should be faraway from the opposite:

arrayDiff([1,2,2,2,3],[2]) == [1,3]

The answer in Python

Choice 1:

def array_diff(a, b):
    return [x for x in a if x not in b]

Choice 2:

def array_diff(a, b):
    return filter(lambda i: i not in b, a)

Choice 3:

def array_diff(a, b):
    for i in vary(len(b)):
        whereas b[i] in a:
            a.take away(b[i])
    return a

Check circumstances to validate our answer

import  check
from answer import array_diff

@check.describe("Fastened Checks")
def fixed_tests():
    @check.it('Fundamental Check Instances')
    def basic_test_cases():
        check.assert_equals(array_diff([1,2], [1]), [2], "a was [1,2], b was [1], anticipated [2]")
        check.assert_equals(array_diff([1,2,2], [1]), [2,2], "a was [1,2,2], b was [1], anticipated [2,2]")
        check.assert_equals(array_diff([1,2,2], [2]), [1], "a was [1,2,2], b was [2], anticipated [1]")
        check.assert_equals(array_diff([1,2,2], []), [1,2,2], "a was [1,2,2], b was [], anticipated [1,2,2]")
        check.assert_equals(array_diff([], [1,2]), [], "a was [], b was [1,2], anticipated []")
        check.assert_equals(array_diff([1,2,3], [1, 2]), [3], "a was [1,2,3], b was [1, 2], anticipated [3]")
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments