Úvod do seznamů v Pythonu :
Seznamy v Pythonu jsou interně reprezentovány jako pole. Použitá myšlenka je podobná implementaci vektorů v C++ nebo ArrayList v Javě. Nákladné operace jsou vkládání a mazání položek poblíž začátku (protože vše se musí přesunout). Vkládání na konci je také nákladné, pokud se předalokovaný prostor zaplní.
Seznam můžeme v Pythonu vytvořit podle následujícího obrázku.
Příklad:
list1 = K každému prvku seznamu můžeme v pythonu přistupovat podle přiřazeného indexu. V pythonu je počáteční index posloupnosti seznamu 0 a koncový index je (pokud je v seznamu N prvků) N-1.

Také, jak je uvedeno ve výše uvedeném poli, mají seznamy také záporný index počínaje -N (pokud je v seznamu N prvků) až po -1.
Pohled na prvky seznamu v pythonu :
K jednotlivým prvkům seznamu můžeme přistupovat prostřednictvím jejich indexů, jak je provedeno v následujícím úseku kódu.
list1 = print(list1) print(list1) print(list1) Přiřazení a zpřístupnění dat:
Pro vytvoření seznamu musíme určit prvky uvnitř hranatých závorek “ a pak mu dát jméno. Kdykoli chceme přistupovat k prvkům seznamu, pak použijeme tento název seznamu a index prvku, který chceme zobrazit.
Každému prvku v seznamu je přiřazen index při kladném indexování máme index od 0 do konce seznamu a při záporném indexování máme index od -N(pokud je prvků N) do -1.
Jak je uvedeno ve výše uvedených příkladech, práce s přístupem k prvkům je ruční. K prvkům můžeme přistupovat nebo je přiřazovat také pomocí cyklů.
list1 = for i in range(0, 11): list1.append(i) for i in range(0, 11): print(list1) Aktualizace seznamu:
Můžeme aktualizovat již přiřazené prvky seznamu a také můžeme do seznamu přidávat po jednom prvku.Dokonce můžeme seznam rozšířit přidáním dalšího prvku k aktuálnímu seznamu.
Výše uvedený úkol lze provést následujícím způsobem.
list1 = list1= 5 print(list1) list1.append(6) print(list1) list1.extend() print(list1) Pozn: append() a extend() jsou v pythonu zabudované metody pro seznamy.
Mazání prvků seznamu :
Prvky v seznamech můžeme mazat pomocí funkce del. Při ní je třeba zadat pozici prvku, která je indexem prvku, a tento prvek bude ze seznamu odstraněn a index bude aktualizován.

Na výše uvedeném obrázku byl odstraněn prvek 3 v indexu 2 a poté byl aktualizován index.
list1 = print(list1) del list1 print(list1) Časová náročnost operací
|
Operace |
Průměrný případ |
Amortizovaný nejhorší případ |
|
| Kopírování | O(n) | O(n) | |
| Připojení | O(1) | O(1) | |
| Pop poslední | O(1) | O(1) | |
| Pop meziprodukt |
O(k) |
O(k) |
|
| Vložit |
O(n) |
O(n) |
|
| Získat položku | O(1) | O(1) | |
| Nastavit položku | O(1) | O(1) | |
| Smazat položku | O(n) | O(n) | |
| Iterace | O(n) | O(n) | |
| Získání plátku | O(k) | O(k) | |
| Del Slice | O(n) | O(n) | |
| Set Slice | O(k+n) | O(k+n) | |
| Rozšířit | O(k) | O(k) | |
| Sortovat | O(n log n) | O(n log n) | |
| Násobit | O(nk) | O(nk) | O(nk) |
| x v s | O(n) | O(n) | |
| min(s), max(s) | O(n) | O(n) | |
| Get Length |
O(1) |
O(1) |
Napsat komentář