Pythonでめっちゃよく使うsplitの処理ですが、初心者向けにさくっとわかる日本語の記事が意外にも見つからなかったので自分で書いてみます。
ちなみに筆者も文系卒のエンジニアです。
#splitとは?
splitは英語で「分割する」という意味で、その名のとおり、文字列を分割にしてリストにします。
「文字列を分割にしてリストにする」が宇宙語に見えた人も安心してください。ちゃんと説明します。
##文字列とは?
「文字列」はあまり難しく考えず、「言葉」や「文章」みたいなものと思ってください。
"バナナ"も文字列、"りんご"も文字列、"バナナを2つ、りんごを3つ買いました"も文字列です。
##リストって何?
リストとは何かというと、何かしらの情報を入れておくための番号つきのロッカーのようなイメージです。
銭湯やスポーツジムに行くと、番号つきのロッカーが並んでいますよね? あれです。
銭湯やスポーツジムのロッカーは、100番から始まっていたり1000番から始まっていたりしますが、pythonのリストの場合は番号は必ず0番から始まります。
##「文字列を分割してリストに入れる」ってどういうこと?
百聞は一見にしかず、ということで、文字列を分割してリストに入れる処理を、実際にpythonでやってみます。
word = "りんごとバナナといちごとみかん" #←「word」という変数(箱)に入ったこの文字列を……
mylist = word.split("と") #←「と」という文字のところで切り分けてmylistに入れてね、という意味
print(mylist) #←mylistの中身を見せてね、という意味
#すると、["りんご","バナナ","いちご","みかん"] と表示されます。
# ↑この形が、pythonにおける「リスト」
上記の処理の結果得られるmylistの中身は、python的に表現すると["りんご","バナナ","いちご","みかん"]
という形ですが、イメージは以下のような感じです。
「りんご」から「みかん」までが、番号つきのロッカーの中に入っていますね。
#splitした結果を使う
上記の例ではsplitした結果として、「りんご」から「みかん」までをmylistという名前のリスト=番号つきロッカーに入れました。
この状態で、リストの名前[番号]
と指定すると、リストの中身を取り出すことができます。
たとえばこんなかんじ。
print(mylist[0]) # mylistの0番の中身を見せてね、という意味 → 「りんご」が表示される
print(mylist[1]) # mylistの1番の中身を見せてね、という意味 → 「バナナ」が表示される
print(mylist[2]) # mylistの2番の中身を見せてね、という意味 → 「いちご」が表示される
print(mylist[3]) # mylistの3番の中身を見せてね、という意味 → 「みかん」が表示される
また、pythonならではのおもしろい文法で、「最後から●番目」という指定のしかたもできます。
「最後から●番目」という指定をしたいときは、番号を表す[]の中にマイナスの数字を指定します。
print(mylist[-1]) # mylistの最後から1番目(=最後)の中身を見せてね、という意味 → 「みかん」が表示される
print(mylist[-2]) # mylistの最後から2番目の中身を見せてね、という意味 → 「いちご」が表示される
print(mylist[-3]) # mylistの最後から3番目の中身を見せてね、という意味 → 「バナナ」が表示される
print(mylist[-4]) # mylistの最後から4番目の中身を見せてね、という意味 → 「りんご」が表示される
#いかがでしたか?
splitの仕組みと、結果を取り出す方法について、イメージをつかんでいただけたでしょうか。
この内容が理解できていれば、例えば口座情報から銀行名だけ・支店名だけを取り出す処理でどうしてsplitが使われるのかも理解できると思います。