"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > NumPy ऐरे असाइनमेंट में अतिरिक्त मेमोरी कब आवंटित की जाती है?

NumPy ऐरे असाइनमेंट में अतिरिक्त मेमोरी कब आवंटित की जाती है?

2024-11-03 को प्रकाशित
ब्राउज़ करें:431

When Is Additional Memory Allocated in NumPy Array Assignment?

नम्पी ऐरे असाइनमेंट: मेमोरी आवंटन अंतर

NumPy में, किसी ऐरे में मान निर्दिष्ट करने के तीन सामान्य तरीके हैं:

  • बी = ए
  • बी[:] = ए
  • numpy.copy(B, A)

B = A

जब आप B = A का उपयोग करते हैं, तो आप एक नई सरणी नहीं बना रहे हैं। इसके बजाय, आप मौजूदा सरणी (ए) में एक नया नाम (बी) बांध रहे हैं। परिणामस्वरूप, एक सरणी में किया गया कोई भी संशोधन दूसरे सरणी में दिखाई देगा।

B[:] = A

यह सिंटैक्स एक नई सरणी B बनाता है ए के समान आयाम और मान। मूल सरणी ए संशोधित नहीं है। इस विधि के लिए numpy.copy की तुलना में कम मेमोरी आवंटन की आवश्यकता होती है।

numpy.copy(B, A)

यह विधि कानूनी नहीं है जैसा आपने लिखा है। यह B = numpy.copy(A) होना चाहिए। numpy.copy A के समान आयामों और मानों के साथ एक नई सरणी B बनाता है। इस विधि को B[:] = A की तुलना में अधिक मेमोरी आवंटन की आवश्यकता होती है क्योंकि यह मूल सरणी से डेटा की एक अलग भौतिक प्रतिलिपि बनाता है।

अतिरिक्त मेमोरी कब आवंटित की जाती है?

जब आप सरणी की एक नई भौतिक प्रतिलिपि बनाने के लिए numpy.copy का उपयोग करते हैं तो अतिरिक्त मेमोरी आवंटित की जाती है। ऐसा इसलिए है क्योंकि यह कॉपी किए गए डेटा के लिए मेमोरी का एक नया सन्निहित ब्लॉक आवंटित करता है।

मेमोरी कब आवंटित नहीं होती है?

जब आप B = A का उपयोग करते हैं तो मेमोरी आवंटित नहीं होती है क्योंकि आप बस मूल सरणी का नाम बदल रहे हैं। जब आप B[:] = A का उपयोग करते हैं तो मेमोरी भी आवंटित नहीं होती है क्योंकि यह मूल सरणी के समान मेमोरी स्थान का पुन: उपयोग करता है।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729560494 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3