Docy

set

Estimated reading: 3 minutes 0 views

Mire használható a set?

A set adattípus egy olyan adatszerkezet, amely egyedi elemek gyűjteménye, amelyeket nem lehet rendezni. A set egy mutálható adatszerkezet, ami azt jelenti, hogy a hozzáadhatunk vagy eltávolíthatunk elemeket belőle.

A set adatstruktúra hasznos lehet, ha szeretnénk eltávolítani a duplikált elemeket egy gyűjteményből, vagy ha szeretnénk ellenőrizni, hogy egy elem szerepel-e egy adott gyűjteményben. A set-nek nincs indexe, így az elemek eléréséhez iterálnunk kell rajta.

A set létrehozásához kapcsos zárójeleket ({}) használunk, és vesszővel elválasztjuk az elemeket. A set támogatja a matematikai halmazok műveleteit is, mint például az uniót, metszetet, különbséget.

Példa

Például, ha az első halmazunk {1, 2, 3, 4, 5} és a második halmazunk {4, 5, 6, 7, 8}, akkor az uniójuk {1, 2, 3, 4, 5, 6, 7, 8}, a metszetük {4, 5}, a különbségük pedig {1, 2, 3} és {6, 7, 8}.

				
					set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# Unió
union_set = set1 | set2
print(union_set)  # Output: {1, 2, 3, 4, 5, 6, 7, 8}

# Metszet
intersection_set = set1 & set2
print(intersection_set)  # Output: {4, 5}

# Különbség
difference_set = set1 - set2
print(difference_set)  # Output: {1, 2, 3}

difference_set = set2 - set1
print(difference_set)  # Output: {8, 6, 7}
				
			

A set adatszerkezet lehetővé teszi az elemek hozzáadását vagy eltávolítását is a add() és a remove() metódusok segítségével.

				
					fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
fruits.remove("banana")
print(fruits) # Output: {"apple", "cherry", "orange"}
				
			

Fontos megjegyezni, hogy a set-ben csak hashelhető objektumok szerepelhetnek, azaz azok, amelyekhez hozzárendelhető egy egyedi hash érték. Ezek például a számok, stringek és tuple-ök, de nem tartoznak ide a listák és a dictionary-k.

Összetett - Példa

				
					# Hétvégi sportesemények résztvevői
foci_resztvevok = {"Anna", "Béla", "Cili", "Dénes", "Emma", "Feri", "Géza", "Hedi"}
kosar_resztvevok = {"Anna", "Cili", "Dénes", "Géza", "Hedi", "István", "Judit"}

# Közös résztvevők kinyerése
kozos_resztvevok = foci_resztvevok.intersection(kosar_resztvevok)

# Csak foci résztvevői
csak_foci_resztvevok = foci_resztvevok - kozos_resztvevok

# Csak kosár résztvevői
csak_kosar_resztvevok = kosar_resztvevok - kozos_resztvevok

print("Közös résztvevők:", kozos_resztvevok)
print("Csak foci résztvevők:", csak_foci_resztvevok)
print("Csak kosár résztvevők:", csak_kosar_resztvevok)
				
			

Ebben a példában a set adattípus segítségével tároljuk azoknak a sporteseményeknek a résztvevőit, amelyek hétvégén zajlanak. A két halmaz közös elemeit a intersection() metódussal, míg a két halmaz különbségeit az a - b művelettel számoljuk ki. Az eredményeket pedig a print() függvénnyel jelenítjük meg a képernyőn.

Leave a Comment

Megosztom ezt a leírást
Tartalom