pythonで1次元配列を昇順で並べ替え、かつ並べ替える前の要素の位置も導出したいです。
sort関数だと前の要素の位置は残らないと思うので困っています。

li = [22, 50, 30, 46, 25, 12, 18, 19]

導出後

li1 = [12, 18, 19, 22, 25, 30, 46, 50]
li2 = [5, 6, 7, 0, 4, 2, 3, 1]

以上のような結果を求めたいです。よろしくお願いします。