def insertion_sort(A):
for j in range(1, len(A)):
key = A[j]
i = j - 1
while (i >= 0) and (A[i] > key):
A[i+1] = A[i]
i = i-1
A[i+1] = key
return A
print insertion_sort([8, 1, 3, 4, 9, 5, 2])
Now this prints: [8, 1, 3, 4, 9, 5, 2]
But I assume, I am mutating the list A, then why is the return value the same?
Your code is wrong with current indentation. It should be like this, right?