2017-07-27 6 views
0

に別々の両方を返す私は3つのリストを持っている:REFとソートリストにとPython

freqは、対応する周波数で、

st = ['B', 'D', 'C', 'A'] 
freq = [2, 3, 2, 4] 
pos = [[1, 19], [3, 18, 21], [2, 20], [0, 17, 22, 23]] 

は基本的に、stは、文字列から異なる文字である、と言うと、 posは、それらの文字の位置です。 今、私はすべての3つのリストを降順で並べ替えるためにfreqとしたいと思います。 zip私はこれらの並べ替えられたリストを別々に保存する必要があるので、役に立ちません!だから助け?事前のおかげで

答えて

0

numpyの使用:

import numpy as np 

st = np.array(['B', 'D', 'C', 'A']) 
freq = np.array([2, 3, 2, 4]) 
pos = np.array([[1, 19], [3, 18, 21], [2, 20], [0, 17, 22, 23]]) 

indices = np.argsort(freq)[::-1] # indices that sort freq in decreasing order 

st = st[indices] 
freq = freq[indices] 
pos = pos[indices] 
+0

おかげで、しかし、私は最初の場所で 'numpy'を使用したくありません。 –