• where is my mistake?

Question related to mission Absolute Sorting

 
num = (1, 2, 3, 0)
va = []
listnum = list(num)
absnum = ([abs(n) for n in sorted(num)])

D = {k: v for (k, v) in zip(range(len(num)), absnum)}
N = sorted(D, key=D.get)
for x in N:
    p = listnum.pop(x)
    va.append(p)
    listnum.insert(x, None)
print(va)

Why it print [1, 2, 3, 0] but not [0, 1, 2, 3]