01 / 07
文字列も番号で取り出せる
くり返しとデータの持ち方
INPUT · スライド
01 / 07
リストは kudamonos[0] で中身を1つ取り出せた。
実は文字列もまったく同じ書き方ができる。namae[0] と書くと、1文字目が取り出せるんだ。
namae = "さくらい"print(namae[0])実行結果
さ
02 / 07
リストと同じで、番号は0から始まる。1文字目が 0、2文字目が 1 だよ。
| 文字 | さ | く | ら | い |
|---|---|---|---|---|
| 番号 | 0 | 1 | 2 | 3 |
「1文字目なのに0」は最初は必ず戸惑うところ。リストで一度通った道だから、ここでは同じ考え方が使いまわせると思えばいい。
namae = "さくらい"print(namae[1])print(namae[3])実行結果
く い
03 / 07
リストで使えたマイナスの番号も、そのまま効く。[-1] が末尾、[-2] がその1つ前だよ。
文字数を数えなくても最後の文字が取れるので、これはとても便利。
namae = "さくらい"print(namae[-1])print(namae[-2])実行結果
い ら
04 / 07
リストの要素数を数えた len は、文字列に使うと文字数を返す。
日本語でも1文字は1文字として数えられるよ。ひらがなもカタカナも漢字も、len から見れば同じ「1つ」だ。
namae = "さくらい"print(len(namae))実行結果
4
05 / 07
4文字の文字列に [4] は無い。番号は 0 から 3 までだからだ。
無い番号を指すと、Pythonはエラーで止めてくれる。
namae = "さくらい"print(namae[4])実行結果
IndexError: string index out of range
06 / 07
namae[0] で取り出した1文字も、りっぱな文字列だ。だから + でつないだり * でくり返したりできる。
文字列から取り出したものは文字列。リストから取り出したものが元の要素だったのと同じ理屈だよ。
namae = "さくらい"print(namae[0] + namae[-1])実行結果
さい
07 / 07
range と len を組み合わせると、番号を0から順に作って1文字ずつ取り出せる。
くり返しと添字がつながった瞬間だね。次のレッスンでは、1文字ではなくまとめて何文字か取り出す方法を見るよ。
namae = "さくら"for i in range(len(namae)): print(namae[i])実行結果
さ く ら