Linkek
Programozási ismeretek
Alapoktól a speciálisig...
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ámahlmz={”egy”, ”kettő”, ”három”} print(len(hlmz)) → 3ADD - új elem felvételehlmz={”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 halmazUPDATE – halmaz bővítése halmazzalA={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)) → FalseUNION – halmazok uniójaA={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 metszeteAmB=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égeA={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ítvahalmaz={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}