回答編集履歴
1
追記
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
やりたいことは、argsortを二回やればできそうです。
|
2
|
-
numpyのargsortで、reverseかつstableなのはちょっと面倒そうなので、リストでやってます。
|
2
|
+
~~numpyのargsortで、reverseかつstableなのはちょっと面倒そうなので、リストでやってます。~~
|
3
3
|
(もっといい方法がありそうな気もします)
|
4
4
|
|
5
5
|
```python
|
@@ -14,4 +14,14 @@
|
|
14
14
|
c = sorted(range(len(b)), key=lambda x: b[x])
|
15
15
|
print(c)
|
16
16
|
#[0, 1, 2]
|
17
|
+
```
|
18
|
+
|
19
|
+
numpyを使うなら、-1をかけてargsortすれば降順にソートできるので、シンプルに下記にできそうです。
|
20
|
+
```python
|
21
|
+
import numpy as np
|
22
|
+
|
23
|
+
a = np.array([0, 2, 1])
|
24
|
+
b = np.argsort(np.argsort(-a, kind='stable'))
|
25
|
+
print(b)
|
26
|
+
#[2 0 1]
|
17
27
|
```
|