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は、シンプルながら非常に強力な文字列操作手段です。業務でログ解析やファイル処理をする際にも、確実に使われるスキルですので、初心者のうちに使い慣れておくと学習効率がアップします。
ぜひ、実際にコードを書いて、文字列分割の挙動を体感してみてください!