リストをソートし、リスト内のソートされた項目のインデックスを含むリストを返す必要があります。たとえば、ソートしたいリストが の場合[2,3,1,4,5]
、 が[2,0,1,3,4]
返される必要があります。
この質問は bytes に投稿されましたが、ここで再投稿しようと思いました。http://bytes.com/topic/python/answers/44513-sorting-list-then-return-index-sorted-item
オブジェクトのプロパティに基づいてオブジェクトのリストを並べ替えるという具体的なニーズがあります。次に、新しく並べ替えたリストの順序に合わせて、対応するリストの順序を変更する必要があります。
これを行う良い方法はありますか?
ベストアンサー1
代わりに、Python ソート関数のkey
パラメータを使用してインデックス配列をソートすることもできます。
>>> s = [2, 3, 1, 4, 5, 3]
>>> sorted(range(len(s)), key=lambda k: s[k])
[2, 0, 1, 5, 3, 4]
>>>