के साथ ऑब्जेक्ट्स सरणी कोई ऑब्जेक्ट फॉर्म बनाने के लिए कोई तरीका है जो किसी भी वर्ग को एक numpy array के अंदर बनाता है? की तरह कुछ:numpy
a = zeros(4)
for i in range(4):
a[i]=Register()
धन्यवाद
के साथ ऑब्जेक्ट्स सरणी कोई ऑब्जेक्ट फॉर्म बनाने के लिए कोई तरीका है जो किसी भी वर्ग को एक numpy array के अंदर बनाता है? की तरह कुछ:numpy
a = zeros(4)
for i in range(4):
a[i]=Register()
धन्यवाद
हाँ, आप ऐसा कर सकते हैं:
a = numpy.array([Register() for _ in range(4)])
यहाँ, a.dtype
dtype('object')
है।
वैकल्पिक रूप से, यदि आप वास्तव में अपने सरणी के लिए स्मृति आरक्षित है और फिर इसे तत्व द्वारा तत्व का निर्माण करने की जरूरत है, तो आप कर सकते हैं:
a = numpy.empty(shape=(4,), dtype=object)
a[0] = Register() # etc.
NumPy सरणी में आइटम स्थिर लिखे जाते हैं, और जब आप zeros
आप कॉल फ्लोट की एक सरणी बनाओ। मनमाने ढंग से अजगर वस्तुओं की दुकान करने के लिए, की तरह
numpy.array([Register() for i in xrange(4)])
जो dtype=object
साथ एक सरणी है, जो आप मैन्युअल रूप से भी निर्दिष्ट कर सकते हैं बनाता है कोड का उपयोग करें।
इस बात पर विचार करें कि क्या आप वास्तव में इस मामले में numpy चाहते हैं। मुझे नहीं पता कि यह उदाहरण आपके उपयोग के मामले में कितना करीब है, लेकिन कई बार टाइप प्रकार ऑब्जेक्ट की एक numpy सरणी, विशेष रूप से एक-आयामी वाला, कम से कम एक सूची के साथ काम करेगा।
@ माइक: पहले समाधान में टाइपो को स्पॉट करने के लिए धन्यवाद; मेरा मतलब यह था कि आपने अपने समाधान में क्या रखा है। मैं पहले सूची बनाने के लिए भूल गया था; अब यह सही है। दूसरे समाधान के लिए, मैं numpy.empty पर स्विच किया। – EOL