नम्पी (और सामान्य रूप से पाइथन, मुझे लगता है) में, एक टुकड़ा-सूचकांक कैसे स्टोर करता है, जैसे कि (..., 0, :), इसे चारों ओर पास करने और विभिन्न सरणी पर लागू करने के लिए? कहें, कहें, फिसलने के लिए स्लाइस-इंडेक्स को पास करने में सक्षम होना अच्छा होगा।बेवकूफ: एआर [..., 0 ,:] काम करता है। लेकिन मैं स्लाइस कमांड (..., 0, :) में निहित डेटा कैसे स्टोर करूं?
उत्तर
पायथन स्लाइस सिंटैक्स से विशेष वस्तुओं को बनाता है, लेकिन केवल अनुक्रमण के लिए स्क्वायर ब्रैकेट के अंदर। आप या तो इस मामले में हाथ से उन वस्तुओं (बना सकते हैं, (...,0,:)
(Ellipsis, 0, slice(None, None, None))
है, या आप एक छोटे से सहायक ऑब्जेक्ट बना सकते हैं:
class ExtendedSliceMaker(object):
def __getitem__(self, idx):
return idx
>>> ExtendedSliceMaker()[...,0,:]
(Ellipsis, 0, slice(None, None, None))
(...,0,:)
के बराबर होना चाहिए ...
>>> myslice = (..., 0, slice(None, None))
>>> myslice
(Ellipsis, 0, slice(None, None, None))
नहीं, यह नहीं है 'टुकड़ा (0)'; '0' सिर्फ एक सूचकांक है। –
@ थॉमस: हाँ, मैंने खुद को सही किया। – JAB
मुझे लगता है कि तुम सिर्फ उदाहरण के लिए एक टुकड़ा है कि 2 तत्व वापस आ जाएगी परिभाषित करने के लिए myslice = टुकड़ा (1,2) (क्या करना चाहते हैं यानी myArray [myslice] == myarray [1: 2])
अजगर के बारे में साफ बात यह है कि आप वास्तव में निरीक्षण करने के लिए कैसे इन एक वर्ग बना सकते हैं चीजों का प्रतिनिधित्व किया जाता है। पाइथन इंडेक्सिंग ऑपरेशंस को संभालने के लिए जादू विधि __getitem__
का उपयोग करता है, इसलिए हम एक वर्ग बना देंगे जो हमें दिखाएगा कि कक्षा में तत्काल, और "इंडेक्स इन" को उदाहरण के लिए:
class foo:
def __getitem__(self, index): print index
foo()[...,0,:]
और हमारा परिणाम है:
(Ellipsis, 0, slice(None, None, None))
Ellipsis
और slice
builtins हैं, और हम अपनी दस्तावेज़ीकरण पढ़ सकते हैं: NumPy में
help(Ellipsis)
help(slice)
उपयोग s_:
In [1]: np.s_[...,0,:]
Out[1]: (Ellipsis, 0, slice(None, None, None))
- 1. % 0 |% 0 क्या है और यह कैसे काम करता है?
- 2. मैं {0} को कैसे बदल सकता हूं लेकिन {{0}} नहीं?
- 3. 0 + 0 + 0 ... + 0! = 0
- 4. {} जबकि (0) मैक्रो में कैसे काम करता है?
- 5. हास्केल: "\ 0" "\ 0" में कैसे प्राप्त करें?
- 6. ABAddressBookRegisterExternalChangeCallback काम करता है, लेकिन डेटा बासी
- 7. जावास्क्रिप्ट में "0 === -0" सच क्यों है?
- 8. क्यों है (इन्फिनिटी | 0) === 0?
- 9. बिना 0 -0 ध्वज
- 10. प्रोग्राम आईडीएलई में काम करता है, लेकिन कमांड लाइन
- 11. क्यों 0 और 1 1 है जबकि 1 और 0 0 रूबी में 0 है?
- 12. (वस्तु) 0 == (वस्तु) 0
- 13. सी ++ 0 एक्स टुपल्स स्टोर एलिमेंट्स पीछे
- 14. Exif डेटा TAG_ORIENTATION हमेशा 0
- 15. क्यों `null> = 0 && null <= 0` लेकिन` null == 0` नहीं?
- 16. एंड्रॉइड के बारे में Drawable getBounds रिटर्न (0, 0 - 0, 0)
- 17. 0 Django PositiveIntegerField में 0 मूल्य?
- 18. निष्पादित करें ("/ bin/sh", 0, 0); एक पाइप में
- 19. COBOL कैसे स्टोर करता है और डेटा पुनर्प्राप्त करता है?
- 20. डीपीकेजी -0
- 21. करता है (size_t) ((char *) 0) कभी 0 का मूल्यांकन नहीं करता है?
- 22. सी ++ में '\ 0' क्या है?
- 23. पर्ल में "0 लेकिन सच" का क्या अर्थ है?
- 24. क्या मैं डेसीबेल को -120 - 0 से 0 - 120
- 25. #if 0 ..... #endif ब्लॉक क्या करता है?
- 26. क्या glUseProgram (0) क्या करता है?
- 27. list.item (0) सूची बनाम [0]
- 28. रेल 0 में
- 29. ~ 0 -1 क्यों है?
- 30. मैं सूची स्लाइस को अपडेट क्यों कर सकता हूं लेकिन पायथन में स्ट्रिंग स्लाइस नहीं?
यह सीधे समस्या हल करता है, मानते हैं कि आप वास्तव में प्रतिनिधित्व के बारे में परवाह नहीं करते हैं या इसका क्या अर्थ है क्योंकि आप इसे नम्पी में उपयोग करने के लिए बस पास करने जा रहे हैं। मेरे पास मूल रूप से एक ही विचार था, लेकिन दिखाया कि कैसे खोदना है और यह पता लगाने के लिए कि सबकुछ क्या है :) –