मान लीजिए मैं शब्द "इंटरनेट" में पत्र 'ई' में से प्रत्येक के सूचकांक खोजने के लिए:ढूँढना सूचकांक
letter = 'e'
word = 'internet'
idx = word.index(letter)
लेकिन इस कोड केवल पहले सूचकांक देता है। मैं उन्हें बाकी कैसे ढूंढ सकता हूं?
मान लीजिए मैं शब्द "इंटरनेट" में पत्र 'ई' में से प्रत्येक के सूचकांक खोजने के लिए:ढूँढना सूचकांक
letter = 'e'
word = 'internet'
idx = word.index(letter)
लेकिन इस कोड केवल पहले सूचकांक देता है। मैं उन्हें बाकी कैसे ढूंढ सकता हूं?
Mark's answer एक भी पत्र के लिए बेहतर है। मैं इसे जोड़ रहा हूं यदि आपका असली सबस्ट्रिंग एक वर्ण से अधिक लंबा है।
आप str.index()
उपयोग करना चाहते हैं, यह एक वैकल्पिक start
स्थिति ले जा सकते हैं और एक ValueError
raise
होगा अगर वांछित सबस्ट्रिंग नहीं पाया जाता है:
>>> letter = 'e'
>>> word = 'internet'
>>> last_index = -1
>>> while True:
... try:
... last_index = word.index(letter, last_index + 1)
... print last_index
... except ValueError:
... break
...
3
6
पाठ्यक्रम 'शब्द' यहाँ का
एक list comprehension में enumerate उपयोग करके देखें:
[index for (index, letter) in enumerate(word) if letter == 'e']
इस प्रयास करें:
word = 'internet'
letter = 'e'
[i for i in xrange(len(word)) if word[i] == letter]
एक 'स्ट्रिंग', नहीं है एक 'सूची'। – Johnsyweb
जिज्ञासा मुझे पूछने के लिए मजबूर करती है, आप इंडेक्स क्यों चाहते हैं? –
हाँ, मेरी गलती। बेशक एक स्ट्रिंग ... मैं हैंगमन गेम कोडिंग कर रहा हूँ। – markiisi