Middle
Ako sa v pamäti Pythonu ukladajú zoznamy a n-tice?
sobes.tech AI
Odpoveď od AI
Zoznamy a n-tice sačuvajú sa ako sekvencie objektov. Hlavný rozdiel je v tom, že n-tice sú nemenné.
Pre zoznamy:
- Sú uložené ako dynamický poľom ukazovateľov na objekty.
- Veľkosť sa môže meniť.
Pre n-tice:
- Sú uložené ako statické pole ukazovateľov na objekty.
- Veľkosť je pevná po vytvorení.
# Príklad zoznamu
my_list = [1, 'hello', 3.14]
# V pamäti: ukazovateľ na pole, ktoré obsahuje ukazovatele na 1, 'hello', 3.14
# Príklad n-tice
my_tuple = (1, 'hello', 3.14)
# V pamäti: ukazovateľ na pole, ktoré obsahuje ukazovatele na 1, 'hello', 3.14
# Rozdiel od zoznamu: veľkosť poľa nemôže byť zmenená
| Vlastnosť | Zoznam (list) | N-tica (tuple) |
|---|---|---|
| Zmeniteľnosť | Zmeniteľný | Nemenný |
| Pamäť | Dynamické pole | Statické pole |
| Výkon čítania | Rýchlejšie pre n-tice kvôli pevnej veľkosti | Trochu pomalšie |
| Výkon zápisu/odstránenia | Rýchlejšie pre zoznamy | Nie je možné (zmena vytvorí novú n-ticu) |