2017-01-24 8 views
2

python3のfindメソッドの2番目の引数は何ですか?私はそれをオンラインで検索しましたが、満足できる説明を得ることができませんでした。例として、次のコードでは5番、20番です。python3のfind()メソッド

+0

私はGoogleのpythonを見つけると、これはトップヒットです。十分に説明できないと言っていますか? https://www.tutorialspoint.com/python/string_find.htm – clearlight

+1

"is"は文字列のオフセット5から始まります。あなたは、オフセット5から始まる "is"を探していて、それを見つけて、そのオフセットを文字列の先頭から返します。 2行目はstrのオフセット20から始まる "is"の検索を示しています。しかし、オフセット20の後に "is"が見つからないので、-1(失敗)を返します。この場合、オフセット20の後にisが見つからないだけでなく、ストリングも20文字も長くなりません。 – clearlight

+1

@clearlight @clearlight私はそれを以前に見ましたが、私が持っていた疑念は、(あなたが投稿したリンクの中で)二度目の引数がなかったら、次のケースでは10でしたが、どちらの場合も出力は15です。それを得る –

答えて

4

find()が検索を開始する開始インデックスです。

str.find("is", 5)同様に、str.find("is", 6)カーソルインデックス6(サブstr[6:]探索の等価(始まる検索するカーソルインデックス5("is a string"あるストリングstr[5:]を(検索相当)

始まる検索します。)"s a string"であるこれは、-1を返しますカーソル位置6の後に、文字列"is"は、検索文字列ではないので

編集:これは覚えて便利な概念ですが、Pythonの以降のPythonには適用されません。 chがないar型。 文字列は単一文字の配列に似ているので、文字列'hello'str = ['h', 'e', 'l', 'l', 'o']に似ている、と私たちはfind()

0

で第二引数を指定して検索を開始したい、この配列内のどの位置を正確に選択することができ、覚えておいてくださいpython3のfind()関数では、最初に指摘している2番目の引数がデフォルトの0であるが、この2番目の引数を与えることで任意の値にリセットすることができます。見つかった場合 find関数はsubtringのインデックスを返し、そうでなければ与え-1

1

5を括弧の中、出力の5は、内サブインデックスのサブストリングの研究を開始し、そこからインデックスです発見された。

thisチュートリアルを参照してください。

関連する問題