मुझे ट्राई डेटास्ट्रक्चर बनाने में उपयोग करने के लिए पाइथन ऑब्जेक्ट्स की एक सरणी की आवश्यकता है। मुझे एक ऐसी संरचना की ज़रूरत है जो एक लूपल और एक सूची की तरह परिवर्तनीय की तरह निश्चित लंबाई होगी। मैं एक सूची का उपयोग नहीं करना चाहता क्योंकि मैं यह सुनिश्चित करने में सक्षम होना चाहता हूं कि सूची बिल्कुल सही आकार (यदि यह अतिरिक्त तत्वों को आवंटित करना शुरू कर देती है, तो स्मृति ओवरहेड बहुत तेज़ी से बढ़ सकता है क्योंकि ट्राई बड़ा हो जाता है)। क्या इसे करने का कोई तरीका है? मैं वस्तुओं की एक सरणी बनाने की कोशिश की:मैं साइथन में पाइथन ऑब्जेक्ट्स की एक निश्चित-लंबाई, परिवर्तनीय सरणी कैसे बना सकता हूं?
cdef class TrieNode:
cdef object members[32]
... लेकिन यह है कि एक त्रुटि दिया:
Error compiling Cython file:
------------------------------------------------------------
...
cdef class TrieNode:
cdef object members[32]
^
------------------------------------------------------------
/Users/jason/src/pysistence/source/pysistence/trie.pyx:2:23: Array element cannot be a Python object
मैं क्या करने की कोशिश कर रहा हूँ करने के लिए सबसे अच्छा तरीका क्या है?
मेरी वरीयता 'assert 0 <= idx
क्षमा करें, लेकिन यह जो भी मैं ढूंढ रहा हूं उसके दाहिने ballpark में भी नहीं है। दो चीजें: 1) मैं सी एक्सटेंशन बनाने के लिए साइथन में ऐसा करने का एक तरीका ढूंढ रहा था। 2) मेरे पास सूची में 32 तत्वों को लेने के लिए मजबूर करने का कोई तरीका नहीं है। इसमें 32 का 'लेन' है, लेकिन आमतौर पर अधिक जगह जोड़ने के लिए आवंटित किया जाता है। –