Is there a fast way to check if one set entirely contains another?
Something like:
>>>[1, 2, 3].containsAll([2, 1])
True
>>>[1, 2,
One option is left untouched -- subtraction:
>>> {1, 2} - {1, 2, 3}
set([])
>>> {1, 2, 3} - {1, 2}
set([3])
Basically you check what elements in first list are not in second list.
I found it very handy since you could show what values are missing:
>>> def check_contains(a, b):
... diff = a - b
... if not diff:
... # All elements from a are present in b
... return True
... print('Some elements are missing: {}'.format(diff))
... return False
...
>>> check_contains({1, 2}, {1, 2, 3})
True
>>> check_contains({1, 2, 3}, {1, 2})
Some elements are missing: set([3])
False