文系Fラン大学生のPython日記

文系大学生がPythonを学んでいく成長日記です。毎日四苦八苦。

「文字のスライス」は麺切り包丁


文字列をスライスってなんやねん。
私は心の中でツッコミを入れた。仕方のないことだと思う。スライスと言われて思い浮かぶのはやはり食材に包丁を入れて薄くおろすイメージだ。もしくはスライサーでパンを切るイメージ。なんにせよ食材を薄く切るイメージだ。私の脳内ではヨーロッパの料理人がチーズを薄くスライスしていた。世の中の大概の人間は似たようなものだと思う。そうだと言ってくれ。


文系的かつ個人的な解釈だが、Pythonにおけるスライスは、「切る」というより「刻む」が近い気がする。みじん切りではなくて、食材で言うなら麺的な「刻む」だ。畳まれたうどんの生地を、麺切り包丁で均等に刻んでいくような。うどんを刻む、時を刻む、ともかく"均等"のニュアンスを含む「刻む」だ。

文字列のスライスは str[0:2:1] のような形で表せる。strは文字列の入った関数として今例に出している。
たとえば str = 'Python' とすると、str[0:2:1] は"Py"である。今回の場合、0が取り出しの開始位置、2が取り出しの終了位置、1が何文字刻みでスライスするかの指定になっている。
なお、何文字刻みでスライスするかのデフォルト値は1なので、今回の場合省略可能である。ついでに開始位置のデフォルトは0なので、こちらも省略可能である。つまり str[0:2:1] は str[:2] と置き換え可能だ。
開始位置・終了位置などの詳しい説明は、他の方の記事をご参照いただきたい。以下に私が参考にさせていただいたページへのリンクを貼る。

Pythonのスライスによるリストや文字列の部分選択・代入(https://note.nkmk.me/python-slice-usage/


文字を刻んで抜き出す、それがスライスである。
文字列の一部をどうこうしたいときにはこれを使う、ととりあえず理解することにした。