में एक सूची में कुछ मूल्य का पहला और अंतिम सूचकांक ढूँढना वहाँ है किसी भी अंतर्निहित तरीकों कि सूचियों का हिस्सा हैं कि मुझे कुछ मूल्य का पहला और अंतिम सूचकांक देना होगा, जैसे:अजगर
verts.IndexOf(12.345)
verts.LastIndexOf(12.345)
में एक सूची में कुछ मूल्य का पहला और अंतिम सूचकांक ढूँढना वहाँ है किसी भी अंतर्निहित तरीकों कि सूचियों का हिस्सा हैं कि मुझे कुछ मूल्य का पहला और अंतिम सूचकांक देना होगा, जैसे:अजगर
verts.IndexOf(12.345)
verts.LastIndexOf(12.345)
अनुक्रमों में एक विधि है index(value)
जो पहली घटना का सूचकांक देता है - आपके मामले में यह verts.index(value)
होगा।
अंतिम सूचकांक को खोजने के लिए आप इसे verts[::-1]
पर चला सकते हैं। इधर, इस होगा len(verts) - 1 - verts[::-1].index(value)
धन्यवाद, आप कैसे प्रदर्शन करते हैं सूची [:: - 1]? पदों [:: - 1]? –
हाँ, मैंने जवाब – SilentGhost
संपादित किया है बीटीडब्ल्यू कर्ट [:: - 1] बस सूची को उलट देता है, है ना? तो मुझे सूचकांक की भरपाई करनी है, है ना? –
उपयोग i1 = yourlist.index(yourvalue)
और i2 = yourlist.rindex(yourvalue).
पायथन _strings_ में 'rindex' है, लेकिन सूचियां नहीं हैं। –
क्षमा करें, आप सही हैं। मैं भूल गया कि सूचियों में rindex नहीं है। आपको सूची को उलट करने की जरूरत है। –
सच है, लेकिन 'रिंडेक्स' है जो बहुत से पाठकों की तलाश में है ... –
अगर आप MyList में myvalue के अंतिम घटना के सूचकांक के लिए खोज रहे हैं:
len(mylist) - mylist[::-1].index(myvalue) - 1
एक छोटे सहायक समारोह के रूप में:
def rindex(mylist, myvalue):
return len(mylist) - mylist[::-1].index(myvalue) - 1
यह विधि
से अधिक अनुकूलित हो सकती हैdef rindex(iterable, value):
try:
return len(iterable) - next(i for i, val in enumerate(reversed(iterable)) if val == value) - 1
except StopIteration:
raise ValueError
अधिक स्पेस-कुशल होने के अर्थ में "अनुकूलित" है, लेकिन यह लगभग 50% धीमी है। – dubiousjim
शायद आपको पाइथन दस्तावेज़ों में सूचियों पर पढ़ना चाहिए: http://docs.python.org/library/stdtypes.html#mutable-sequence-types। मुझे लगता है कि बहुत सारे प्रश्न पूछने से बहुत तेज होगा। –
मैं उन्हें भी पढ़ रहा हूं, लेकिन पाइथन के बारे में कुछ भी नहीं जानना मुश्किल बनाता है। मुझे इसका वाक्यविन्यास बहुत गूढ़ लगता है। –
यदि आपकी सूचियां क्रमबद्ध हैं, तो आप bisect मॉड्यूल को देखना चाहेंगे। –