Python|文字列を分割してリストで取得する

1. はじめに

Pythonで文字列を操作する際、「文字列を分割してリストで取得する」処理は非常によく使われます。
例えば、CSVデータの読み取りやユーザー入力の解析など、多くの場面で必要とされる基本操作です。
本記事では、Pythonで文字列を簡単に分割し、リスト形式で扱う方法について、具体例を交えながらわかりやすく解説していきます。

初心者にもわかるように、基本的な構文から実務的な応用パターン、よくあるエラーとその対処法までを丁寧に解説します。

 

2. Pythonで文字列を分割する基本構文

split()メソッドの基本

Pythonで文字列を分割する際に最もよく使われるのが split() メソッドです。
このメソッドは、指定した区切り文字(デリミタ)で文字列を分割し、それをリストとして返してくれます。

基本構文:

文字列.split(区切り文字)

例:カンマ区切りの文字列を分割

text = "apple,banana,orange"
fruits = text.split(",")  # カンマで分割
print(fruits)

実行結果:

['apple', 'banana', 'orange']

デフォルトの分割(空白・タブなど)

split()の引数を省略すると、空白・タブ・改行などの「空白文字」で分割されます。

sentence = "Python is easy to learn"
words = sentence.split()  # 空白で自動分割
print(words)

実行結果:

['Python', 'is', 'easy', 'to', 'learn']

 

3. よくある使い方・応用例

1行のCSVデータを分割する

CSVファイルを手動で処理するとき、1行の文字列をsplitで分割して各データにアクセスできます。

csv_line = "1001,Suzuki,Tokyo,29"
data = csv_line.split(",")
print(f"ID: {data[0]}, 名前: {data[1]}, 所在地: {data[2]}, 年齢: {data[3]}")

実行結果:

ID: 1001, 名前: Suzuki, 所在地: Tokyo, 年齢: 29

複数行をforループで処理する

複数のデータ行をfor文と組み合わせて処理することも可能です。

lines = [
    "1001,Suzuki,Tokyo,29",
    "1002,Tanaka,Osaka,34",
    "1003,Yamada,Nagoya,27"
]

for line in lines:
    parts = line.split(",")
    print(f"{parts[1]}さんは{parts[2]}在住、年齢は{parts[3]}歳です。")

実行結果:

SuzukiさんはTokyo在住、年齢は29歳です。
TanakaさんはOsaka在住、年齢は34歳です。
YamadaさんはNagoya在住、年齢は27歳です。

splitlines()で改行ごとに分割

文字列を改行単位で分割したい場合は splitlines() メソッドを使います。

text = "Line1\nLine2\nLine3"
lines = text.splitlines()
print(lines)

実行結果:

['Line1', 'Line2', 'Line3']

 

4. 注意点・エラー対策

区切り文字が見つからない場合

指定した区切り文字が文字列に含まれていない場合、split()は元の文字列をそのままリストにして返します。

text = "apple banana orange"
result = text.split(",")  # カンマは含まれていない
print(result)

実行結果:

['apple banana orange']

⇒エラーではありませんが、「思った通りに分割されない」という初心者のミスが起きがちです。

空文字列をsplitした場合

空文字列にsplit()を使うと、結果は [''] という1要素のリストになります。

text = ""
print(text.split(","))

実行結果:

['']

意図せず空データを扱うと処理ロジックが崩れることもあるため、if text などのチェックを入れると安心です。

split()とstrip()の違いに注意

strip()は文字列の先頭・末尾の空白などを削除するだけで、文字列を分割するわけではありません。混同しやすいので注意しましょう。

 

5. まとめ

  • split()で文字列を区切ってリストに変換できる
  • 区切り文字を指定することで柔軟な処理が可能
  • CSV処理やテキスト解析で頻出のテクニック
  • 空文字列や区切り文字の未指定には注意が必要

Pythonのsplitは、シンプルながら非常に強力な文字列操作手段です。業務でログ解析やファイル処理をする際にも、確実に使われるスキルですので、初心者のうちに使い慣れておくと学習効率がアップします。

ぜひ、実際にコードを書いて、文字列分割の挙動を体感してみてください!

タイトルとURLをコピーしました