2017-07-27 21 views
0

我有3個表:與裁判另一個排序列表,並同時返回seperately在Python

說,

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

基本上,st是從字符串的不同的字母,freq是相應的頻率,和pos是這些字母的位置。 現在我想按freq的降序排列所有3個列表。 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'在首位。 –

相關問題