Halmazok létrehozása, inicializálás (set, {})
set([1, 2, "a"])
{1, 2, 'a'}
{1, 2, "a"}
{1, 2, 'a'}
set()
set()
{} # üres szótár, nem üres halmaz!
{}
Elemek hozzáadása, törlése (.add, .remove, .discard, .pop, .clear)
s1 = {1, 2, 3, "a", "b"}
s2 = {2, 4, 6, "a", "c"}
s3 = {3, 33}
s1.add("d")
s1, s2, s3
({1, 2, 3, 'a', 'b', 'd'}, {2, 4, 6, 'a', 'c'}, {3, 33})
s1.remove("c")
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-6-72ce1ccfa9ab> in <module> ----> 1 s1.remove("c") KeyError: 'c'
s1.discard("c") # nem ad hibaüzenetet, ha az elem nincs a halmazban
s1
{1, 2, 3, 'a', 'b', 'd'}
s1.pop()
1
s1
{2, 3, 'a', 'b', 'd'}
Műveletek: union, update, intersection, isdisjoint, difference, symmetric_difference, |, &, -, ^,
s1.union(s2) # visszaadja az uniót, de nem írja fölül s1-et
{2, 3, 4, 6, 'a', 'b', 'c', 'd'}
s1 # az s1 ugyanaz maradt
{2, 3, 'a', 'b', 'd'}
s1.update(s3) # az s1-be kerül az unió, és itt s2 helyén állhat lista, tuple... is
s1
{2, 3, 33, 'a', 'b', 'd'}
s1 | s2
{2, 3, 33, 4, 6, 'a', 'b', 'c', 'd'}
s1 & s2
{2, 'a'}
s1 - s2
{3, 33, 'b', 'd'}
s1 ^ s2
{3, 33, 4, 6, 'b', 'c', 'd'}