HALMAZ kontra SZÓTÁR
Üres szótár (dictionary)
szotar = {}
vagy
szotar = dict()
Figyelem: a {} mindig szótár, nem halmaz!
Üres halmaz (set)
halmaz = set()
❌ Ez NEM halmaz:
halmaz = {} # ez üres szótár!

Halmaz

Halmaz (set): egy elem csak egyszer fordulhat elő benne, nem rendezett (nem lehet megmondani, melyik az első vagy utolsó elem és nem lehet indexszel hivatkozni egy-egy elemre), és az elemek nem változtathatók meg. Lehet viszont hozzárakni elemet, kiszedni belőle, tartalmazást vizsgálni, végiglépkedni az elemeken és a metszet és unió is megvalósítható a megfelelő függvényekkel.

A halmaz nem rendezett, a sorrend változhat!

HALMAZMŰVELETEK (NAGYON FONTOS!)
Unió (összeadás)
A = {1, 2, 3}
B = {3, 4, 5}

print(A | B)

Metszet (közös elemek)
print(A & B)

Különbség
print(A - B)

Szimmetrikus különbség
print(A ^ B)

Amiért nagyon hasznos: ha egy listából halmazt csinálunk, akkor a lista minden elem csak egyszer szerepel benne, vagyis eltávolítja a duplikációkat.

Pl. ha a lista = [1, 1, 2, 2, 3, 4, 5, 5, 5, 6, 9], akkor a halmaz=set(lista) eredménye {1, 2, 3, 4, 5, 6, 9}. Ilyenkor a 2 in halmaz eredménye True lesz.

Új elem hozzáadása: set.add(új elem)

Egy elem törlése: set.remove(törlendő_elem)

Elemek elérése:
for elem in halmaz:
print(elem)

Tartalom vizsgálat:
if 1 in (1, 2, 3):
print(’Benne van!’)

LISTÁBÓL HALMAZ, HALMAZBÓL LISTA (Listaelemek ismétlődésének törlése)
l1=[1,1,2,2]
s1=set(l1)
print(s1)
l2=list(s1)
print(l2)

MŰVELETEK HALMAZOKKAL

1. HALMAZ LÉTREHOZÁSA
halmaz = {1, 2, 3, 4}
Üres halmaz:
ures = set() # {} NEM halmaz, hanem üres szótár!

2. DUPLIKÁTUMOK AUTOMATIKUS ELTÁVOLÍTÁSA
szamok = {1, 2, 2, 3, 3, 3}
print(szamok) # {1, 2, 3}

3. ELEM HOZZÁADÁSA
halmaz.add(5)

Több elem hozzáadása:
halmaz.update([6, 7, 8])

4. ELEM ELTÁVOLÍTÁSA
halmaz.remove(3) # hibát dob, ha nincs benne
Biztonságosabb:
halmaz.discard(10) # nem dob hibát

5. ELLENŐRZÉS: BENNE VAN-E EGY ELEM?
if 4 in halmaz:
print("Benne van")

6. VÉGIGITERÁLÁS HALMAZON
for elem in halmaz:
print(elem)


x

Website templates by JustDreamweaver.com