Halmaz és műveletei

Amit az érettségihez tudni érdemes...

A Pythonban az egyik alapvető összetett adatszerkezet a lista mellett a halmaz. A halmaz nem indexelhető, minden eleme egyedi.

Pl.:
halmaz=set() halmaz={1,2,3,4} halmaz={'A','B','C','D','E'} halmaz={'szöveg',2,'X'} halmaz1=set() halmaz2={6,7,8,9,10} halmaz1=halmaz2 # üres halmaz # számhalmaz # karakterhalmaz # vegyes típusú elemek halmaza # halmaz1: {6,7,8,9,10}

MŰVELETEK

LEN - halmaz elemeinek száma
hlmz={”egy”, ”kettő”, ”három”} print(len(hlmz)) → 3
ADD - új elem felvétele
hlmz={”egy”, ”kettő”, ”három”} hlmz.add(”négy”) print(hlmz) → {”egy”, ”kettő”, ”három”,”négy”}
REMOVE, DISCARD, POP, CLEAR - elemek törlése
# 1. REMOVE - hibát okoz, ha nemlétező elemet törlünk # 2. DISCARD - nem okoz, hibát ha... # --- mindkettő érték alapján töröl, mivel indexelés nincs... --- # 3. POP - random töröl egy elemet és a törölt elemet vissza is adja A={1,2,3,4,5,6} A.remove(4) print(A) → {1,2,3,5,6} A.discard(2) print(A) → {1,3,5,6} torolt_elem=A.pop() print(torolt_elem) → 1 print(A) → {3,5,6} A.clear() print(A) → set() # üres halmaz
UPDATE – halmaz bővítése halmazzal
A={1,2,3} B={'a','b','c','d'} A.update(B) print(A) → {1,2,3,'a','b','c','d'}
ISDISJOINT – logikai érték --> metszethalmaz üres (True) vagy nem (False)
A={1,2,3,4} B={4,5,6,7} print(A.isdisjoint(B)) → False
UNION – halmazok uniója
A={1,2,3,4,5,6} B={4,5,6,7,8,9} AuB=A|B vagy A_union_B=A.union(B) print(A_union_B) → {1,2,3,4,5,6,7,8,9}
INTERSECTION – halmazok metszete
AmB=A&B vagy A_intersection_B=A.intersection(B) print(A_intersection_B) → {4,5,6}
DIFFERENCE – halmazok különbsége (kommutatív)
A={1,2,3,4,5,6} B={4,5,6,7,8,9} A_kul_B=A-B vagy A_diff_B=A.difference(B) print(A_diff_B) → {1,2,3}
SYMMETRIC DIFFERENCE – halmazok szimmetrikus különbsége
A={1,2,3,4,5,6} B={4,5,6,7,8,9} A_szk_B=A^B vagy A_symm_diff_B=A.symmetric_difference(B) print(A_symm_diff_B) → {1,2,3,7,8,9}
KONVERZIÓ – halmaz konvertálása listává, és fordítva
halmaz={1,2,3,4,5,6} lista=[1,2,2,2,3,3,4,4,4,4,5] h_lista=list(halmaz) print(h_lista,h_lista[3]) → [1,2,3,4,5,6] 4 # a lista indexelhető l_halmaz=set(lista) print(l_halmaz) → {1,2,3,4,5}