たとえば、整数のリストがあります。
my_list = [5, 2, 4, 9]
ソートされた場合に各要素がリストに表示される位置を含むリストが必要です。したがって、上記の例では、次の結果が必要です。
>>> sorted(my_list)
[2, 4, 5, 9]
>>> magnitude(my_list)
[2, 0, 1, 3]
...ソート後:
5
位置に終わる2
2
位置に終わる0
4
位置に終わる1
9
位置に終わる3
どうやってやるの?
たとえば、整数のリストがあります。
my_list = [5, 2, 4, 9]
ソートされた場合に各要素がリストに表示される位置を含むリストが必要です。したがって、上記の例では、次の結果が必要です。
>>> sorted(my_list)
[2, 4, 5, 9]
>>> magnitude(my_list)
[2, 0, 1, 3]
...ソート後:
5
位置に終わる2
2
位置に終わる0
4
位置に終わる1
9
位置に終わる3
どうやってやるの?
In [8]: L = [5,2,4,9]
In [9]: LL = sorted(L)
In [10]: LL
Out[10]: [2, 4, 5, 9]
In [11]: sorted(enumerate(LL), key=lambda t: L.index(t[1]))
Out[11]: [(2, 5), (0, 2), (1, 4), (3, 9)]
In [12]: [s[0] for s in sorted(enumerate(LL), key=lambda t: L.index(t[1]))]
Out[12]: [2, 0, 1, 3]