Rijad Hadzic
Rijad Hadzic

Reputation: 77

Updated list does not get used in Python

import math

array = [16,5,3,4,11,9,13]


for x in array[0:len(array)-1]:
    key=x
    index=array.index(x)
    posj=index
    for y in array[index+1:len(array)]:
        if y<key:
            key=y
            posj=array.index(y)
    if index!=posj:
        hold=array[index]
        array[index]=key
        array[posj]=hold


print(array)

I'm trying to implement insertion sort. It appears after using the debugger that in every loop iteration, it is using the array [16,5,3,4,11,9,13] instead of the updated array that results after a loop iteration.

How can I make x be the updated element for the given indicie?

Upvotes: 0

Views: 25

Answers (1)

Abhishek Prusty
Abhishek Prusty

Reputation: 864

Instead of

for x in array[0:len(array)-1]:

try

for x in array:

Output

[3, 4, 5, 9, 11, 13, 16]

Upvotes: 2

Related Questions