PyQオフィシャルブログ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

Pythonの .split(...) はどういう動きをするものですか?

こんにちは。PyQ開発チームの清原 id:hirokiky です。 Pythonの文字列の .split について解説いたします。 .split は本当によく使うメソッドですので、ぜひ身につけていただきたいと思います。

PyQメールサポートの中でいただいたご質問とサポートの回答を紹介します。 (質問いただいたご本人様には掲載の許可をいただいております)

Pythonを学習する中や PyQ を利用する中で同じ疑問あれば参考にしてください!

質問

Pythonの "文字列".split(",") はどういう動きをするものですか?リストに変換されますか?

回答

はい。そうですね、 split は文字列を分割するために使うものです。 「分割」について詳しく説明してみます。

まず

2016,清原,Python

という文字を見てみましょう。 この文字には2つカンマ (,) が入っていますね。 ちょっと目立たせてみます。

2016 , 清原 , Python

カンマで分ければ、以下 3つの部分に分けれますね

  1. 2016
  2. 清原
  3. Python

これが 「カンマで分割する」 ということです。 .split(",") は、文字を分割して、リストにします。

↑ の3つの文字列をリストに入れるので、

["2016", "清原", "Python"]

というリストになります。 これが splitの動作です。

他にも

他にも .split(...) に渡す文字を変えて、ハイフン区切りなど好きに区切れます。

"080-0000-1111".split("-")  # splitにハイフンを指定
# ↓
["080", "0000", "1111"]
"昨日の晩御飯のカレーの感想".split("の")
# ↓
["昨日", "晩御飯", "カレー", "感想"]

これが "文字列".split("区切り文字") の動作です。

また、以下のように引数を指定しないことで「空文字」で区切ることもできます。

"タブ\t区切り".split()
['タブ', '区切り']

"スペース 区切り".split()
['スペース', '区切り']

"改行\n区切り".split()
['改行', '区切り']

PyQで .split の実践的な使い方を学習しましょう

いかがでしょうか? .split(…) がリストを作る動作を解説してみました。

PyQではファイルを読み込んで .split で行を解析したり、集計する問題がたくさんあります。 実際に自分でプログラムを動かして、 .split など色々なPythonの使い方を身に着けましょう。

pyq.jp