मैं इन यकीन सभी महान जवाब हैं लेकिन मैं उनका उपयोग करने में सक्षम नहीं था। हालांकि, मुझे एक और धागा मिला जो आंशिक रूप से इसका उत्तर देता है: MATLAB-style find() function in Python
जॉन ने निम्नलिखित कोड पोस्ट किया है जो आपके मामले में ए> 9 --- ढूंढें (ए> 9,1) - लेकिन दूसरा तर्क नहीं।
मैं जॉन कोड जो मैं दूसरा तर्क के लिए खातों का मानना है ", 1"
def indices(a, func):
return [i for (i, val) in enumerate(a) if func(val)]
a = [1,2,3,9,6,4,3,10]
threshold = indices(a, lambda y: y >= 9)[0]
यह सीमा = 3 रिटर्न में बदलाव किए। मेरी समझ यह है कि पायथन की अनुक्रमणिका 0 से शुरू होती है ... तो यह matlab कहने के बराबर है 4. आप ब्रैकेट्स यानी [1], [2], आदि में संख्या को बदलकर बुलाए जाने वाले इंडेक्स का मूल्य बदल सकते हैं। [0]।
जॉन मूल कोड:
def indices(a, func):
return [i for (i, val) in enumerate(a) if func(val)]
a = [1, 2, 3, 1, 2, 3, 1, 2, 3]
inds = indices(a, lambda x: x > 2)
जो रिटर्न >>> inds [2, 5, 8]
तुम्हारा मतलब '> =' करते हैं? क्योंकि '>' वापस आ जाएगा 8. –
वास्तव में, numpy arrays शून्य आधारित हैं, इसलिए '9' स्थिति' 3' और '10' स्थिति में' 10' है। – Jaime