Sobes.tech
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)