की एक संख्यात्मक सरणी शुरू करने के अजीब व्यवहार में अजीब के साथ कुछ प्रतीत होता है जब सरणी में स्ट्रिंग डेटा होता है। मैं निम्नलिखित कोड है: जब मैं print my_array[0, :]
साथ इसे प्रिंट, अबस्ट्रिंग डेटा
my_array = numpy.empty([1, 2], dtype = str)
my_array[0, 0] = "Cat"
my_array[0, 1] = "Apple"
, प्रतिक्रिया मैं ['C', 'A']
जो स्पष्ट रूप से बिल्ली और एप्पल की उम्मीद उत्पादन नहीं है,। वह क्यों है, और मैं सही आउटपुट कैसे प्राप्त कर सकता हूं?
धन्यवाद!
यह सही है, जानना अच्छा है! धन्यवाद – Jim
एक बार जब मैं सूची में एक तत्व अद्यतन करता हूं (i.e 'my_array [0] = 'हैलो''), क्या उस पहले तत्व में आवंटित स्मृति के" 10-अक्षर योग्य "हैं? या अब यह वास्तव में एक '" एस 5 "वस्तु है? मुझे नहीं लगता है, क्योंकि 'numpy' सरणी का' dtype' पूरे सरणी में सुसंगत होना चाहिए? – Anonymous
@jphollowed: दाएं, आकार पूरे सरणी के लिए तय किया गया है, इसलिए यदि आप इसे S10 के रूप में प्रारंभ करते हैं, तो यह अभी भी प्रत्येक प्रविष्टि के लिए 10 बाइट्स का उपयोग करेगा, भले ही आपके द्वारा संग्रहीत वास्तविक स्ट्रिंग छोटे हों। – BrenBarn