は、単語「インターネット」に「E」私は手紙の各インデックスを見つける必要があるとします検索インデックスは
letter = 'e'
word = 'internet'
idx = word.index(letter)
しかし、このコードは、最初のインデックスを提供します。残りの部分はどのようにして見つけることができますか?
は、単語「インターネット」に「E」私は手紙の各インデックスを見つける必要があるとします検索インデックスは
letter = 'e'
word = 'internet'
idx = word.index(letter)
しかし、このコードは、最初のインデックスを提供します。残りの部分はどのようにして見つけることができますか?
Mark's answerは、単一の文字のためのより良いです。実際の部分文字列が1文字よりも長い場合には、これを追加します。
あなたが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]
という言葉は '、 'STRING'ではありませんリスト。 – Johnsyweb
好奇心が私に聞かせてくれます。なぜインデックスを使いたいのですか? –
はい、私の間違いです。もちろんストリングです...私はハングマンゲームをコーディングしています。 – markiisi