Python tuple, set

10. osztály 10.évf Python Python

Összetett adattípusok a Pythonban:

  • lista: Dinamikusan változó adatszerkezet (gyűjtemény). Rendezett, indexelt, az elemek módosíthatók, bővíthetők, törölhetők, lehetnek benne egyforma elemek.
  • szótár: rendezett és változtatható gyűjtemény. Elempárokból áll, azaz egy kulcsból és a hozzá tartozó értékből. A kulcsok értéke egyedi, tehát nem lehet több azonos kulcs.
  • tuple: olyan gyűjtemény, amely rendezett és megváltoztathatatlan. Lehetővé teszi az elemek duplikálását. Nem lehet hozzáadni új elemet, törölni belőle, vagy módosítani az elemeit.
  • halmaz: olyan gyűjtemény, amely rendezetlen, nem változtatható és nem indexelt. Nem lehetnek benne duplikált elemek. Új elemet lehet hozzáadni, és lehet belőle elemeket törölni.

Tuple

A tuple adattípus is összetett adattípus. Indexelt, lehet benne ismétlődő adat. Nem lehet törölni belőle elemet, és nem lehet hozzáadni újat sem! Tuple-t az elemeinek felsorolásával, vagy a tuple függvénnyel lehet létrehozni. A listákhoz hasonlóan a tuple is indexelt, az első elem a 0. indexű, az utolsó a -1. A tuple elemszáma a len függvénnyel lekérdezhető. A szokásos in/not in segítségével eldönthető, szerepel-e benne a megadott elem. A tuple elemei is bejárhatóak for és while ciklussal. A tuple törölhető a del kulcsszóval. A count függvénnyel meg tudjuk nézni, a keresett elem hányszor szerepel a tuple-ben. Az index függvény visszadja a keresett elem indexét.

Bár a tuple elemei nem módosíthatóak, egy kis trükközéssel mégis megoldható új elem felvétele, elem módosítása, törlése… Ehhez a tuple-t át lehet alakítani listává, majd vissza tuple-nek. Tehát van egy hetkoznapok nevű tuple, amit elmentünk egy s nevű listába. A listába a keddi nap értékét felülírjuk, hozzáadunk egy új elemet, majd elmentjük tuple-ként.

Halmazok (Set)

A halmaz: rendezetlen, nem indexelt, nem lehet benne ismétlődő elem, az elemei nem módosíthatóak. Új elemmel lehet bővíteni (add), és elemeket lehet törölni belőle (remove, discard, pop)! Ha nem létezik a megadott érték törlésnél, akkor a remove() hibaüzenetet dob a discard() nem. Elemet véletlenszerűen a pop metódussal lehet törölni.
Gyakorlatilag ha többször iratjuk ki ugyanannak a halmaznak az elemeit azt fogjuk tapasztalni, hogy változik (véletlen) a sorrendjük. Egy halmazhoz hozzá lehet adni másik halmazt, szótárt, tuple-t, listát is az update metódussal.
A halmaz elemeit a clear() metódussal lehet törölni, magát az egész halmazt a del() metódussal.