Theo những gì tôi hiểu về câu hỏi của bạn, có vẻ như bạn muốn áp dụng một hoán vị mà bạn chỉ định trên a list. Điều này được thực hiện bằng cách chỉ định một list(hãy gọi nó p) khác giữ các chỉ số của các phần tử của bản gốc listsẽ xuất hiện trong hoán vị list. Sau đó, bạn sử dụng pđể tạo mới listbằng cách thay thế phần tử ở mỗi vị trí bằng phần tử có chỉ mục ở vị trí đó p.
def apply_permutation(lst, p):
return [lst[x] for x in p]
arr=list("abcde")
new_order=[3,2,0,1,4]
print apply_permutation(arr,new_order)
Bản in này ['d', 'c', 'a', 'b', 'e'].
Điều này thực sự tạo ra một mới list, nhưng nó có thể được sửa đổi nhỏ để hoán vị "tại chỗ" ban đầu.