set
β’ 219 words β’ 2 min β’ updated
python
if __name__ == "__main__":
s = set()
assert len(s) == 0
assert set([1]) == set([1])
assert set([1]) <= set([1, 2])
assert set([1]) < set([1, 2])
t = set([1])
assert len(t) == 1
# union
assert set([1]) | set([2]) == set([1, 2])
# intersection
assert set([1, 2]) & set([2]) == set([2])
# symmetric difference == union - intersection
assert set([1, 2, 3]) ^ set([3, 4]) == set([1, 2, 4])
assert len(set([1, 1, 2])) == 2
assert set([1, 1, 2]) == set([1, 2])
s.add(3)
assert s == set([3])
s.add(4)
s.remove(3)
assert s == set([4])
s.add(4)
assert s == set([4])
assert 4 in s
assert 3 not in s
s.clear()
assert len(s) == 0
assert set([1]).copy() == set([1])
assert set([1, 2]) - set([1]) == set([2])
s = set([1, 2, 3])
s.difference_update(set([1]))
assert s == set([2, 3])
s -= set([2])
assert s == set([3])
assert set([1]) & set([2]) == set()
assert set() == set([])
assert list(set([1, 2])) == [1, 2]
assert list(set([2, 1])) == [1, 2]
assert set([2]) < set([1, 2])
s = set([3, 4, 1])
s.pop()
assert s == set([3, 4])
s.pop()
assert s == set([4])
s = set([1])
t = set([2])
## s |= t
s.update(t)
assert s == set([1, 2])
assert frozenset({1}) == set({1})
hash(frozenset({1}))
try:
hash(set({1}))
assert False
except Exception as e:
assert "unhashable type: 'set'" in str(e)