आपके प्रश्न के बारे में मुझे जो समझ में आता है, उससे यह प्रतीत होता है कि आप एक क्रमपरिवर्तन को लागू करना चाहते हैं जिसे आप एक पर निर्दिष्ट करते हैं 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, लेकिन इसे मूल रूप से "जगह" में अनुमति देने के लिए तुच्छ रूप से संशोधित किया जा सकता है।