Код в списке делает нумерацию в порядке возрастания. Но это занимает 3 строчки и +1 переменную, можно ли его укоротить?

a = [12,41,31,4124,124]
b = a[:]
b.sort()
for i in b:
    print(a.index(i) + 1)

Ответы (1 шт):

Автор решения: MaxU

Вариант 1: "vanilla Python"

res = [i for i,x in sorted(enumerate(a, 1), key=lambda x: x[1])]
print(*res, sep="\n")

Вариант 2: используем Numpy

import numpy as np

res = np.argsort(a) + 1
print(*res, sep="\n")

Вывод:

1
3
2
5
4
→ Ссылка