こんにちは、PyQ運営チームのkonieです。担当はマーケティングですが、Pythonの楽しさに目覚めて独学しています。独学しているとどうしても行き詰まってしまうこと、ありますよね。私はどうも釈然としなくてずっと同じ問題を解いていたり、解説を何度も読んでいたりすることがよくあります。自分の中で引っかかっている部分を調べているとき、独学している人の経験談はとても参考になります。その知見の中から解決のヒントを得られたこともたくさんあります。私も自分の独学する中で理解したことをPython学習チャンネルを通じて紹介することで、Pythonを勉強する誰かの役に立てればと思い、定期的に自分の「Python独学記」を投稿することにしました。この独学記を読んで欲しい人・Pythonレベルプログラミングを独学で学習しはじめた人です。私自身は他言語からの独学ですが、はじめて学習する人にもわかりやすく、一緒に学べるように執筆したいです。今回は文字列のインデックス指定とスライスについて学んでいた時に感じたことをまとめていきます。インデックス指定やスライスを使うと文字列から指定する範囲の文字を抜き出すことができます。これから学ぶ人や、学習してみたけれどピンとこず理解できていない人にわかりやすくお伝えできたらと思います。文字列のスライスで指定した範囲の文字列を抜き出す例インデックス指定とスライスのいろいろなパターン学習中に気づいたこと・難しいと感じたことまとめ文字列のインデックス指定、スライスとは指定した位置の文字一文字を抜き出すことを、インデックス指定といいます。指定した範囲の文字列を抜き出すことを、スライスといいます。下記のような文字列があったとします。今は昔、竹取の翁といふものありけり。この文字列の「10文字目を抜き出したい」、「10文字目から15文字目までを抜き出したい」などと思ったときに使うことができます。基本的なインデックス指定、スライスの書き方・使い方インデックス指定で文字列から一文字抜き出す場合文字列[抜き出したい位置]で抜き出せます。文字列[抜き出す最初の文字位置:抜き出す最後の文字位置]とすることで、文字列から指定範囲の文字を抜き出すことができます。この方法がスライスです。先ほどの文字列の例で実際に抜き出してみましょう。"今は昔、竹取の翁といふものありけり。moji[10]'ふ'文字列から一文字抜き出せました。文字列の頭から11文字目が抜き出されましたね。位置を指定するときの注意点ここで注意したいのが、10と指定すると文字列の11文字目が抜き出されるということです。文字列の文字、1文字ごとにインデックスが割り当てられます。インデックスの先頭は0、2番目は1が割り振られています。よって1文字目は0、2文字目は1、・・・というように0から数えて指定します。N文字目を抜き出したいというときはN-1を指定する必要があります。次は10文字目から15文字目を抜き出す例です。"今は昔、竹取の翁といふものありけり。moji[9:15]'いふものあり'文字列から抜き出せました。こちらも1文字を抜き出すときと同じように数えるので10文字目から抜き出したいときは9を指定します。"今は昔、竹取の翁といふものありけり。8文字目から最後までを抜き出す'翁といふものありけり。最後の文字を抜き出す'。最後3文字を抜き出す'けり。'学習中に気づいたこと・難しいと感じたこと学習する時に難しいと感じたことは、抜き出す位置の指定です。抜き出したい文字の指定は以下のようにまとめられます。先頭からN文字目ならN-1最後からN文字目ならN複数文字の抜き出しでN文字目からM文字目なら[N-1:M]このように文字列の最初から指定するのか、後ろから指定するのか、途中を指定するのかで数え方が違うので難しく感じました。実際に1、2、3、と文字を数えてそのままコードに書いてしまい、思っていない場所が抜き出されてしまったことが何回もあります。気をつけていても指定する部分を間違えてしまいました。このような場合には一度print文で抜き出した部分を表示させるのが良いとわかりました。何が抜き出されているのかわからないままコードを書いていてもどこで間違ったのかがわかりません。視覚的に確認できるよう、一度表示させてから書き進めるのが確実です。まとめ今までと違った数え方でプログラムを書くためには慣れが必要そうです。慣れるまでは都度確かめながら書き進めるのがいいかもしれません。思った動きにならなかったりエラーが出てしまったりしても落ち着いて対処できるようにすることが大切です。今回のようなインデックス指定、スライスを使った時にどこが間違っているかわからないときは、print文などを用いて目に見えるよう表示して確かめるのがいいでしょう。プロのエンジニアもどこでうまく動かないのかわからなかった場合は1つ1つ確かめているようです。次のブログは今回のスライスについて動きが思ったようにならなかった時に、とても参考になりました。Python独学記Tweet関連記事2019-10-11全問正答率2%以下!?Pythonの雑学や歴史を知るPythonクイズ「ビープラウドからの挑戦」をご...みなさんこんにちは!PyQチームnanaです。Python独学記こんにちは。PyQチームのkonieです。レポートインタビュー!参加・登壇したkas...みなさんこんにちは、PyQスタッフnanaです。(4/4)】「セミナーなのにみんなでしゃべり出したり。...2019-01-31str.splitとre.splitの違いを、具体例を交えて解説します。「正規表現パターンで文字列を...PyQサポートのkamekoです。今日は、文字列を正規表現パターンで...このブログは、Python言語でのオンラインプログラミング学習サービスPyQ(パイキュー)の開発スタッフが運営しています。無料体験プラン公開中!PyQってどんなサービス?PyQでは、Pythonの基本から機械学習・データ分析まで、実際にコードを書きつつブラウザだけで学べます。Pythonお悩み解決で紹介しているような疑問が解決できるプラン(スタンダードプラン)もあるので、プログラミング学習をサポートする先輩プログラマーのような存在が必要になったときには、是非検討してみてくださいね。PyQ・PyQブログの更新情報をSNSで配信しています。「プログラミングって何ができるの?」から、Python言語の魅力を知るニュースメールを配信しています。»Python学習チャンネルオンラインPython学習プラットフォームPyQ(パイキュー)の公式ブログです。PyQのリリース情報やカリキュラム紹介だけでなく、プログラミング学習者向けにPythonのQ&A、プログラミング学習tipsなどを配信しています。reserved.スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。