Pythonのsplitメソッドで文字列をリスト配列に分割する
- 公開日:2019/01/16
- 更新日:2019/02/05
- 投稿者:n bit
Pythonで基本的な文字列(str型)の分割を行うときにはsplitメソッドを利用します。今回はsplitメソッドを使用して任意の文字列の分割方法を解説。基本的な分割以外にも回数を指定した分割方法も解説しています。
この記事は約 分で読めます。(文字)
splitメソッドで文字列を分割・削除
Pythonで基本的な文字列(str型)分割には『split』メソッドを利用します。『split』メソッドは任意の文字で分割し、分割された文字列の要素はリストに要素として格納され返されます。
『split』メソッドの指定方法は以下の通りです。
- 分割された文字列のリスト = 分割する文字列.split(分割対象の文字列)
必要に応じて分割え回数を指定する『maxsplit』などを利用します。
それでは実際に『split』メソッドを利用して森鴎外の『知恵袋心頭語』内の1文を分かち書きしている文字列をリスト要素に分割してみましょう。
Note
森鴎外の『知恵袋心頭語』内の1文
『人 に 言う べき 事 は 、 最後 まで きちんと 言う が よい 。
全部 は 言い たく ない こと だっ たら 、
むしろ 初め から 黙っ て い よ 。』
splitを使用して文字列を分割する
『split』メソッドの引数に何も指定しない場合は空白(スペース)や改行(\n/)、タブ(\t)などを分割の文字列として扱います。
text = '''人 に 言う べき 事 は 、 最後 まで きちんと 言う が よい 。
全部 は 言い たく ない こと だっ たら 、
むしろ 初め から 黙っ て い よ 。'''
text_new = text.split()
print(text_new)
出力結果
['人', 'に', '言う', 'べき', '事', 'は', '、', '最後', 'まで', 'きちんと', '言う', 'が', 'よい', '。', '全部', 'は', '言い', 'たく', 'ない', 'こと', 'だっ', 'たら', '、', 'むしろ', '初め', 'から', '黙っ', 'て', 'い', 'よ', '。']
文字列内の『空白(スペース)』と『改行(\n/)』を基準にして要素に分割し、リスト化されていることが確認できます。
splitで分割文字列を任意で指定して文字列を分割する
『split』メソッドの第1引数に『分割文字列』を指定して文字列を分割してみましょう。『分割文字列』はダブルクォーテーション【"】、または、シングルクォーテーション【'】で囲んで引数に指定しましょう。
『分割文字列』には『' ' 空白(スペース)』を指定しました。
text = '''人 に 言う べき 事 は 、 最後 まで きちんと 言う が よい 。
全部 は 言い たく ない こと だっ たら 、
むしろ 初め から 黙っ て い よ 。'''
text_new = text.split(' ')
print(text_new)
出力結果
['人', 'に', '言う', 'べき', '事', 'は', '、', '最後', 'まで', 'きちんと', '言う', 'が', 'よい', '。', '\n全部', 'は', '言い', 'たく', 'ない', 'こと', 'だっ', 'たら', '、', '\nむしろ', '初め', 'から', '黙っ', 'て', 'い', 'よ', '。']
文字列内の『空白(スペース)』を基準にして要素に分割し、リスト化されていることが確認できます。引数に何も指定しない時と違い、『改行(\n/)』は指定されていないためリスト内に残っています。
splitを使用して文字列の最大分割回数を指定する
『split』メソッドで文字列の分割回数を指定することができます。最大分割回数を指定する場合は第2引数の『maxsplit』に最大分割回数を数値で渡すと機能します。
- 分割された文字列のリスト = 分割する文字列.split(分割対象の文字列, maxsplit=数値)
先頭から『分割対象の文字列』にヒットしたものが『maxsplit』に指定した数だけ分割します。
『split』メソッドの第1引数に『' ' 空白(スペース)』を、第2引数に『5』を指定して文字列を分割してみましょう。
text = '''人 に 言う べき 事 は 、 最後 まで きちんと 言う が よい 。
全部 は 言い たく ない こと だっ たら 、
むしろ 初め から 黙っ て い よ 。'''
text_new = text.split(maxsplit=5)
print(text_new)
出力結果
['人', 'に', '言う', 'べき', '事', 'は 、 最後 まで きちんと 言う が よい 。 \n全部 は 言い たく ない こと だっ たら 、 \nむしろ 初め から 黙っ て い よ 。']
最初に5回ヒットする文字列『' ' 空白(スペース)』だけが分割されていることが確認できます。
今日のdot
『split』メソッドを使った文字列(str型)の基本的な分割方法は下記の通りです。
- 分割された文字列のリスト = 分割する文字列.split(分割対象の文字列, 分割え文字列)
最大分割回数も指定したい場合は下記のように変更しましょう。
- 分割された文字列のリスト = 分割する文字列.split(分割対象の文字列, maxsplit=数値)
【フリーランス向けの完全無料Pythonプログラミング講座】
dot blogではこの記事以外にも完全無料でフリーランス向けのPythonプログラミング講座を公開中です。フリーランスとして活躍し稼ぐための強力な武器となりますよ。
Python入門講座【無料のプログラミング学習講座】
最近特に注目度が高くなってきているプログラミング言語Python。転職、フリーランス、独立・起業を検討中、日々の業務が忙しい社会人等は今こそ身に付けておきたいスキルの1つ。初心者向けにやさしいプログラミング学習内容のPython入門講座を無料で公開。