LoginSignup
0
0

More than 3 years have passed since last update.

#5 【python3】文字列から文字を取り出す

Posted at

はじめに

この記事はプログラミングを勉強し始めて2ヶ月ほどの駆け出しエンジニアがアウトプット目的に書いている記事です。
ruby、jsをかじったのちトレンドであるpythonに興味を持ったので学習を始めました。
今回は文字列について記事を書いていこうと思います。
拙い記事になりますが、気になる点があればご指摘いただけるとありがたいです!
なお本記事は、macOSにpython3およびanacondaの導入をしていることが前提となっております。

1 インデックス番号

文字列にはインデックス番号があります。

sample.py
sample = "abcdefghi"
         #↑↑↑↑↑↑↑↑↑       
         #012345678 前からカウントした場合
       #-{987654321}後カウントした場合

文字列のインデックス番号は1文字目を0から数えます。
間違えやすい部分なので注意が必要です。後ろから数える際は-1から始めます。

2 []で文字列を取り出す

>>>sample = "abcdefghi"

[]を使ってインデックス番号2のcを取り出してみます。

インタプリタ
>>>sample = "abcdefghi"
>>>sample [2]
'c'

文字列からcを取り出せました。
今度は後ろからカウントした場合のインデックス番号を利用してcを取り出してみます。

インタプリタ
>>>sample = "abcdefghi"
>>>sample [−7]
'c'

無事文字列を取り出すことができましたが、一つ注意点があります。
インデックス番号で文字列を取り出すことは狩野ですが、書き換えることはできないということです。

インタプリタ
>>>sample = "abcdefghi"
>>>sample [−7] = "j"
  File "<stdin>", line 1
    sample [−7] = "j"
             ^
SyntaxError: invalid character in identifier

このようにsample[-7]を"j"に置き換えようとするとエラーが出てしまいます。

3 部分文字列を呼び出す

[]を使って範囲を指定して文字列を取り出すことも可能です。

インタプリタ
>>>sample = "abcdefghi"
>>>sample[1:4]
   #文字列[開始番号:終了番号]
'bcd'

上記ではインデックス番号1のaから4のdまでを選択して取り出しています。
また開始番号と終了番号は省略することが可能です。

インタプリタ
>>>sample = "abcdefghi"
>>>sample[:4]
   #文字列[:終了番号]
'abcd'

この場合は文字列の最初から番号4までを範囲指定しており

インタプリタ
>>>sample = "abcdefghi"
>>>sample[1:]
   #文字列[開始番号:]
'bcdefghi'

この場合は番号1から最後までを範囲指定できます。

終わりに

今回の記事は以上で終了です。
文字列のインデックス番号は1文字目を0から数えるということはわかっていても、間違えやすいの注意したいですね。

前の記事→https://qiita.com/shin12032123/items/a8cc0d7612259683562e

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0