Elvezetés a Python listákhoz :
A Python listák belsőleg tömbökként vannak ábrázolva. Az alkalmazott ötlet hasonló a vektorok megvalósításához a C++-ban vagy az ArrayList-hez a Java-ban. A költséges műveletek az elemek beszúrása és törlése az elejéhez közel (mivel mindent át kell helyezni). A végén történő beszúrás szintén költséges lesz, ha az előre kiosztott hely betelik.
Listát hozhatunk létre pythonban az alábbiak szerint.
Példa:
list1
=
Egy lista egyes elemeit pythonban a hozzájuk rendelt index alapján tudjuk elérni. A pythonban a listasorozat kezdőindexe 0, a végindexe pedig (ha N elem van benne) N-1.
A fenti tömbben látható módon a listáknak negatív indexe is van -N-től kezdve (ha N elem van a listában) -1-ig.
A lista elemeinek megtekintése Pythonban :
A lista egyes elemei az indexükön keresztül érhetők el, ahogy az alábbi kódrészletben történik.
list1
=
print
(list1)
print
(list1)
print
(list1)
Adatok hozzárendelése és elérése:
A lista létrehozásához meg kell adnunk az elemeket szögletes zárójelben ”, majd nevet kell adnunk neki. Amikor hozzá akarunk férni a lista elemeihez, akkor ezt a listanevet és a megjeleníteni kívánt elem indexét használjuk.
A lista minden eleméhez indexet rendelünk, pozitív indexelés esetén az index 0-tól a lista végéig, negatív indexelés esetén pedig -N(ha az elemek száma N) és -1 között van.
A fenti példákban látható módon az elemek elérésének munkája manuális. Hozzáférhetünk vagy hozzárendelhetünk elemeket ciklusokon keresztül is.
list1
=
for
i
in
range
(
0
,
11
):
list1.append(i)
for
i
in
range
(
0
,
11
):
print
(list1)
Lista frissítése:
A már hozzárendelt elemeket frissíthetjük a listához, és egyszerre egy-egy elemet is hozzáadhatunk a listához.Még bővíthetjük is a listánkat egy másik lista hozzáadásával az aktuális listához.
A fenti feladatot a következőképpen hajthatjuk végre.
list1
=
list1
=
5
print
(list1)
list1.append(
6
)
print
(list1)
list1.extend()
print
(list1)
Megj: Az append() és extend() beépített metódusok a pythonban a listákhoz.
Lista elemeinek törlése :
Listák elemeit törölhetjük a del függvény használatával. Ebben meg kell adnunk az elem pozícióját, ami az elem indexe, és az elem törlődik a listából, és az index frissül.
A fent látható képen a 2. indexű 3. elemet töröltük, és utána az index frissült.
list1
=
print
(list1)
del
list1
print
(list1)
A műveletek időbeli bonyolultsága
Művelet. |
Átlagos eset |
Amortizált legrosszabb eset |
Másolás | O(n) | O(n) |
Beillesztés | O(1) | O(1) |
Pop last | O(1) | O(1) |
Pop intermediate |
O(k) |
O(k) |
Insert |
O(n) |
O(n) |
Get Item | O(1) | O(1) |
Set Item | O(1) | O(1) |
Delete Item | O(n) | O(n) |
Iteration | O(n) | O(n) |
Get Slice | O(k) | O(k) |
Del Slice | O(n) | O(n) |
Set Slice | O(k+n) | O(k+n) |
Extend | O(k) | O(k) |
Sort. | O(n log n) | O(n log n) |
Multiply | O(nk) | O(nk) |
x in s | O(n) | O(n) |
min(s), max(s) | O(n) | O(n) |
Get Length |
O(1) |
O(1) |
Vélemény, hozzászólás?