01 / 07
入っているかを調べる
番号で取り出すには、どこにあるかを知らないといけない。まずは「そもそも入っているか」から調べよう。
使うのは in。リストのときと同じ言葉だね。結果は True か False で返ってくるよ。
bun = "きょうはあめ"print("あめ" in bun)print("ゆき" in bun)実行結果
True False
くり返しとデータの持ち方
INPUT · スライド
01 / 07
番号で取り出すには、どこにあるかを知らないといけない。まずは「そもそも入っているか」から調べよう。
使うのは in。リストのときと同じ言葉だね。結果は True か False で返ってくるよ。
bun = "きょうはあめ"print("あめ" in bun)print("ゆき" in bun)実行結果
True False
02 / 07
True か False が返るということは、そのまま if の条件に書けるということ。
「含まれていたら〜する」という判断が、これで書けるようになるよ。
bun = "きょうはあめ"if "あめ" in bun: print("かさをもっていく")実行結果
かさをもっていく
03 / 07
場所まで知りたいときは find(ファインド、見つける)を使う。見つかった位置の番号が返ってくるよ。
書き方は bun.find("あめ")。調べたい文字列のうしろに . をつけて呼ぶ。リストの append と同じ形だね。
bun = "きょうはあめ"print(bun.find("あめ"))実行結果
4
04 / 07
find は見つからなくてもエラーにならない。かわりに -1 を返すよ。
番号は本来0以上なので、ありえない値を返すことで「無かった」を伝えているんだ。
0 が返ってきたら「先頭にあった」、-1 なら「無かった」。この2つを取りちがえないように気をつけよう。
bun = "きょうはあめ"print(bun.find("ゆき"))print(bun.find("きょう"))実行結果
-1 0
05 / 07
count(カウント、数える)を使うと、その文字が何回出てくるかが分かる。
1個も無ければ 0 が返る。こちらは -1 にならないよ。
bun = "あかあおあか"print(bun.count("あ"))print(bun.count("み"))実行結果
3 0
06 / 07
「〜で始まるか」「〜で終わるか」を調べる専用の道具もある。
startswith … その文字列で始まるかendswith … その文字列で終わるかどちらも True か False を返す。スライスで切り出して比べてもいいけれど、こちらのほうが読んで意味が分かるよ。
bun = "きょうはあめ"print(bun.startswith("きょう"))print(bun.endswith("はれ"))実行結果
True False
07 / 07
find で見つけた番号は、そのままスライスに使える。さがす道具と切り出す道具はセットなんだ。
下の例は「: の次から最後まで」を取り出している。区切り記号の場所が分からなくても切り出せるね。
次のレッスンでは、文字列を加工する道具を見るよ。
bun = "なまえ:ゆい"i = bun.find(":")print(bun[i + 1:])実行結果
ゆい