จากสิ่งที่ฉันเข้าใจคำถามของคุณดูเหมือนว่าคุณต้องการใช้การเปลี่ยนแปลงที่คุณระบุในไฟล์list. สิ่งนี้ทำได้โดยการระบุอีกอันหนึ่งlist(เรียกมันpว่า) ที่เก็บดัชนีขององค์ประกอบของต้นฉบับlistที่ควรปรากฏในการlistอนุญาต จากนั้นคุณใช้pเพื่อสร้างใหม่listโดยเพียงแค่แทนที่องค์ประกอบในแต่ละตำแหน่งโดยดัชนีที่อยู่ในตำแหน่ง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)
['d', 'c', 'a', 'b', 'e']พิมพ์นี้
สิ่งนี้จะสร้างใหม่listแต่สามารถแก้ไขได้เล็กน้อยเพื่อให้ "อยู่ในตำแหน่ง" เดิม