मुझे लंबाई का एक नुमाइंदा सरणी बनाने की आवश्यकता है n
, जिसमें से प्रत्येक तत्व है v
।
क्या इससे बेहतर कुछ है:
a = empty(n)
for i in range(n):
a[i] = v
मैं जानता हूँ कि zeros
और ones
v = 0, 1. मैं इस्तेमाल कर सकते हैं के लिए काम करेगा v * ones(n)
, लेकिन यह काम नहीं होगा जब बहुत धीमी होगी।v
है None
, और भी
v * ones(n)
भी भयानक है, क्योंकि यह महंगी गुणा का उपयोग करता है। हालांकि के *
साथ बदलें +
, और v + zeros(n)
कुछ मामलों में आश्चर्यजनक रूप से अच्छा लगता है ( stackoverflow.com/questions/5891410/… )।
var = np.empty(n)
और फिर इसे 'var [:] = v' से भरना और भी तेज़ है । (btw, np.full()
इस के रूप में उपवास के रूप में) है
a = np.zeros(n)
लूप में उपयोग करना इससे तेज हैa.fill(0)
। यह वह चीज है जो मैंने अपेक्षित की थी क्योंकि मुझे लगा किa=np.zeros(n)
नई मेमोरी को आवंटित करने और आरंभ करने की आवश्यकता होगी। अगर कोई इसे समझा सकता है, तो मैं इसकी सराहना करूंगा।