1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonのsplitについて、文系初心者にもわかるように説明してみる

Posted at

Pythonでめっちゃよく使うsplitの処理ですが、初心者向けにさくっとわかる日本語の記事が意外にも見つからなかったので自分で書いてみます。

ちなみに筆者も文系卒のエンジニアです。

#splitとは?

splitは英語で「分割する」という意味で、その名のとおり、文字列を分割にしてリストにします
文字列を分割にしてリストにする」が宇宙語に見えた人も安心してください。ちゃんと説明します。

##文字列とは?
「文字列」はあまり難しく考えず、「言葉」や「文章」みたいなものと思ってください。
"バナナ"も文字列、"りんご"も文字列、"バナナを2つ、りんごを3つ買いました"も文字列です。

##リストって何?

リストとは何かというと、何かしらの情報を入れておくための番号つきのロッカーのようなイメージです。
リスト.jpg
銭湯やスポーツジムに行くと、番号つきのロッカーが並んでいますよね? あれです。

銭湯やスポーツジムのロッカーは、100番から始まっていたり1000番から始まっていたりしますが、pythonのリストの場合は番号は必ず0番から始まります。

##「文字列を分割してリストに入れる」ってどういうこと?

百聞は一見にしかず、ということで、文字列を分割してリストに入れる処理を、実際にpythonでやってみます。

文字列を分割してリストに入れる例
word = "りんごとバナナといちごとみかん"  #←「word」という変数(箱)に入ったこの文字列を……
mylist = word.split("")             #←「と」という文字のところで切り分けてmylistに入れてね、という意味
print(mylist)                         #←mylistの中身を見せてね、という意味
#すると、["りんご","バナナ","いちご","みかん"] と表示されます。
#         ↑この形が、pythonにおける「リスト」

上記の処理の結果得られるmylistの中身は、python的に表現すると["りんご","バナナ","いちご","みかん"]という形ですが、イメージは以下のような感じです。
mylist.jpg

「りんご」から「みかん」までが、番号つきのロッカーの中に入っていますね。

#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が使われるのかも理解できると思います。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?