回答:
>>> s = "the dude is a cool dude"
>>> s.find('dude')
4
is
文から単語を見つけたい場合はどうすればよいthis is a cool dude
ですか?findメソッドを試しましたが、5ではなくインデックス2を返します。find()を使用してこれを行うにはどうすればよいですか?
index
およびfind
find
メソッドの隣にもありindex
ます。find
そして、index
最初に現れる位置を返す、:両方同じ結果が得られたが、何も見つからなかった場合はindex
発生しますValueError
一方、find
リターン-1
。Speedwiseは、どちらも同じベンチマーク結果を持っています。
s.find(t) #returns: -1, or index where t starts in s
s.index(t) #returns: Same as find, but raises ValueError if t is not in s
rfind
およびrindex
:一般に、findおよびindexは、渡された文字列が始まる最小のインデックス
rfind
をrindex
返し、それが始まる最大のインデックスを返します。ほとんどの文字列検索アルゴリズムは左から右に検索するため、で始まる関数r
は、検索が右から行われることを示します左へ。
したがって、検索している要素の可能性がリストの先頭よりも末尾に近いrfind
か、またはrindex
速い場合。
s.rfind(t) #returns: Same as find, but searched right to left
s.rindex(t) #returns: Same as index, but searches right to left
出典: Python:Visual QuickStart Guide、Toby Donaldson
input_string = "this is a sentence"
、単語の最初の出現を検索したい場合is
、それは機能しますか? # first occurence of word in a sentence input_string = "this is a sentence" # return the index of the word matching_word = "is" input_string.find("is")
これをアルゴリズム的な方法で実装するには、Pythonの組み込み関数を使用しません。これは次のように実装できます
def find_pos(string,word):
for i in range(len(string) - len(word)+1):
if string[i:i+len(word)] == word:
return i
return 'Not Found'
string = "the dude is a cool dude"
word = 'dude1'
print(find_pos(string,word))
# output 4
def find_pos(chaine,x):
for i in range(len(chaine)):
if chaine[i] ==x :
return 'yes',i
return 'no'
詩=「あなたについてすべてのことを頭に留めておくことができるなら、\ n彼らを失い、それをあなたに責めます。\ nすべての人があなたを疑うとき、あなたが自分を信頼できるなら、\ nしかし、彼らの疑いも考慮に入れてください。\ nできれば待って、待つことで疲れないようにしてください。\ nまたは、嘘をついて、嘘をつかないでください。\ n嫌いになって、嫌いに道を譲らないでください。\ nそれでも、見栄えがよくなく、賢明な話をしないでください。 : "
enter code here
print(verse)
#1. What is the length of the string variable verse?
verse_length = len(verse)
print("The length of verse is: {}".format(verse_length))
#2. What is the index of the first occurrence of the word 'and' in verse?
index = verse.find("and")
print("The index of the word 'and' in verse is {}".format(index))
-1
見つからない場合は返されます