मानो या न मानो, मेरे वर्तमान कोड की रूपरेखा तैयार करने के बाद, सुन्न सरणी के दोहराव वाले संचालन ने चलने वाले समय के विशालकाय हिस्से को खा लिया। मेरे पास अभी जो सामान्य दृश्य-आधारित विधि है:
reversed_arr = arr[::-1]
क्या इसे और अधिक कुशलता से करने का कोई अन्य तरीका है, या क्या यह केवल मेरे जुनून से अवास्तविक संख्यात्मक प्रदर्शन का भ्रम है?
arr
एक संख्यात्मक सरणी है।
f2py
आपका दोस्त है! यह अक्सर एल्गोरिथ्म के प्रदर्शन के महत्वपूर्ण हिस्सों (विशेष रूप से वैज्ञानिक कंप्यूटिंग में) को किसी अन्य भाषा में लिखने और अजगर से इसे लिखने के लिए सार्थक है। सौभाग्य!
arr[::-1]
: github.com/numpy/numpy/blob/master/numpy/lib/twodim_base.py । के लिए खोजें def flipud
। फ़ंक्शन का शाब्दिक अर्थ है चार लाइनें लंबी।
arr[::-1]
बस एक उलटा दृश्य लौटाता है। यह उतना ही तेज़ है जितना कि आप प्राप्त कर सकते हैं, और यह सरणी में आइटम की संख्या पर निर्भर नहीं करता है, क्योंकि यह बस स्ट्रैड को बदलता है। क्या आप वास्तव में एक सुन्न सरणी उलट रहे हैं?