我想以給定的順序重新排序我的串列,例如我有一個 ['a', 'b', 'c', 'd', 'e', 'f', 'g'] 串列,它有一個[0,1,2,3,4,5,6] 的索引,假設新的有序串列將具有 [3,5,6,1,2,4,0] 的順序,這將導致 [' d'、'f'、'g'、'b'、'c'、'e'、'a']。
你會如何產生這樣的代碼?
我想通過執行以下操作來使用 for 回圈
for i in range(Len(list))
之后我想使用附加或創建一個新串列?也許,但我不確定我是否正在接近這一點。
uj5u.com熱心網友回復:
您需要做的就是迭代索引串列,并使用它來訪問元素串列,如下所示:
elems = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
idx = [3,5,6,1,2,4,0]
result = [elems[i] for i in idx]
print(result)
輸出:
['d', 'f', 'g', 'b', 'c', 'e', 'a']
uj5u.com熱心網友回復:
import numpy as np
my_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
def my_function(my_list, index):
return np.take(my_list, index)
print(my_function(my_list, [3,5,6,1,2,4,0]))
Output: ['d' 'f' 'g' 'b' 'c' 'e' 'a']
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/357330.html
上一篇:洗掉專案時本地存盤鍵編號中斷
