Код в списке делает нумерацию в порядке возрастания. Но это занимает 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