Massiv eyni ölçülü elementləri yaddaşda ardıcıl saxlayır. Bu iki sadə xüsusiyyət massivin gücünü və zəifliyini müəyyən edir: indekslə müraciət ani olur, amma ortaya əlavə etmək bahalıdır. Dinamik massiv isə böyümə mexanizmi əlavə edir ki, append ucuz qalsın.
base + i * size və tutumu 4-dən 8-ə böyüyən massivArdıcıl yaddaş və O(1) indeksləmə
Əgər massiv 1000 ünvanından başlayırsa və hər element 8 bayt tutursa, a[5] 1000 + 5 * 8 = 1040 ünvanındadır. Düstur n-dən asılı deyil, ona görə a[0] və a[10**6] eyni sürətlə oxunur. Python list-i elementlərin özünü yox, onlara istinadları saxlayır, istinadlar isə eyni ölçülüdür, buna görə eyni qayda işləyir.
Ortaya əlavə və silmə: O(n)
Elementlər boşluqsuz yerləşdiyi üçün i mövqeyinə əlavə etmək üçün sağdakı hər elementi bir xana sürüşdürmək lazımdır. Silmədə isə əksinə, sola. Sürüşmələrin sayı n - i-dir: əvvələ əlavə ən pis (n), sona əlavə ən yaxşı (0) haldır.
def insert_at(a, i, x):
a.append(None) # make room at the end
moves = 0
for j in range(len(a) - 1, i, -1):
a[j] = a[j - 1] # shift one step right
moves += 1
a[i] = x
return moves