1

たとえば、整数のリストがあります。

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

どうやってやるの?

4

2 に答える 2

0
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]
于 2015-05-19T23:45:43.480 に答える