カテゴリ: Python 更新日: 2026/01/06

Pythonで文字列をリストに変換する方法!split()とjoin()の使い方

Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方

先生と生徒の会話形式で理解しよう

生徒

「Pythonで文章を単語ごとに分けたり、逆にくっつけたりってできますか?」

先生

「はい、それにはsplit()join()という2つのメソッドを使います。文字列とリストの変換にとても便利ですよ。」

生徒

「splitとjoinって名前が英語で覚えにくそう…」

先生

「splitは『分ける』、joinは『くっつける』という意味です。意味をイメージできれば、使い方も自然に覚えられますよ。」

-

1. split()とは?文字列を区切ってリストに変換する方法

1. split()とは?文字列を区切ってリストに変換する方法
1. split()とは?文字列を区切ってリストに変換する方法

split()メソッドは、ひと続きの文字列を「区切り文字」を目印にして小さなかたまりへ分け、扱いやすいリストに並べ替えるための道具です。区切り文字にはカンマやハイフンなど任意の記号を指定できます。分けたい記号をはっきり指示するだけで、まとまった文章やデータを用途ごとの部品に整理できます。


# カンマで区切って分割する基本例
fruits = "りんご,みかん,バナナ"
parts = fruits.split(",")
print(parts)

['りんご', 'みかん', 'バナナ']

このように、文字列を分けると要素ごとに取り出したり並べ替えたりしやすくなります。区切り文字は用途に合わせて自由に選べます。


# ハイフン(-)を目印に分割する例
code = "A-12-XYZ"
print(code.split("-"))

['A', '12', 'XYZ']

注意点として、区切りの前後に空白が混じっていると空白もそのまま残ります。見た目をそろえたいときは、分割したあとで前後の空白を取り除くときれいに扱えます。


# 空白つきデータを分割し、前後の空白を取り除く例
raw = "りんご, みかん,  バナナ"
items = [s.strip() for s in raw.split(",")]
print(items)

['りんご', 'みかん', 'バナナ']

まずは「分けたい記号を決める → split(その記号)で分ける」という流れに慣れれば、表形式の文字列や設定値の一覧などもすっきり整理できます。

2. 区切り文字を指定しないとどうなる?

2. 区切り文字を指定しないとどうなる?
2. 区切り文字を指定しないとどうなる?

split()で区切り文字を省略すると、「空白文字」をまとめて区切りとして扱います。ここでいう空白文字には、半角スペースだけでなくタブ(\t)などの空白類が含まれ、連続していても1つの区切りとして解釈されます。先頭や末尾に余分な空白があっても自動的に無視されるため、入力のゆらぎに強いのが特徴です。


# 何も指定しないと、空白(スペースやタブ)をまとめて区切りにする
sentence = "Python   は    とても\t楽しい  "
print(sentence.split())  # 連続した空白は1つとして扱われ、前後の空白も無視される

['Python', 'は', 'とても', '楽しい']

空白が不規則でも、単語だけをきれいに取り出したい場合に便利です。反対に、スペース自体の数を区別したい場面では、次の章のように区切り文字を明示して使い分けると意図通りに処理できます。


# 必要な数だけ区切りたいときは「最大分割数」を指定できる(空白区切りのまま)
text = "りんご  みかん  バナナ  メロン"
print(text.split(None, 2))  # 左から2回だけ分割して3要素にする

['りんご', 'みかん', 'バナナ  メロン']

このように、区切り文字を省略したsplit()は「空白で区切る+余分な空白をまとめて処理する」挙動になることを覚えておくと、文章や入力欄の値を扱うときに役立ちます。

3. split()を使った応用例:改行で分ける

3. split()を使った応用例:改行で分ける
3. split()を使った応用例:改行で分ける

文章を改行ごとに分けたいときは、\n(改行文字)を指定します。


text = "1行目\n2行目\n3行目"
print(text.split("\n"))

['1行目', '2行目', '3行目']

これにより、複数行のテキストも簡単に行ごとにリストにできます。

4. join()とは?リストの要素をまとめて文字列に変換する

4. join()とは?リストの要素をまとめて文字列に変換する
4. join()とは?リストの要素をまとめて文字列に変換する

join()メソッドは、リストの中の要素を1つの文字列にまとめるときに使います。使い方は、"区切り文字".join(リスト)という形です。


words = ["Python", "は", "楽しい"]
sentence = " ".join(words)
print(sentence)

Python は 楽しい

このように、リストの中の言葉をスペースでつなげて、1つの文章にできます。

-

5. join()の使い方いろいろ

5. join()の使い方いろいろ
5. join()の使い方いろいろ

区切り文字はスペースだけでなく、カンマや改行など自由に選べます。


words = ["りんご", "みかん", "バナナ"]
print(",".join(words))       # カンマで結合
print("・".join(words))       # 記号で結合

りんご,みかん,バナナ
りんご・みかん・バナナ

用途に応じて、好きな区切りで文章を作ることができます。

6. split()とjoin()をセットで使う

6. split()とjoin()をセットで使う
6. split()とjoin()をセットで使う

split()で文字列をリストにし、join()で再び文字列に戻す、という使い方もよくあります。


text = "おはよう こんにちは こんばんは"
words = text.split()  # 分割
print(words)
new_text = "、".join(words)  # 結合
print(new_text)

['おはよう', 'こんにちは', 'こんばんは']
おはよう、こんにちは、こんばんは

このように、split()とjoin()を組み合わせると、文字列を自由に加工できます。

7. split()で最大分割数を指定する方法

7. split()で最大分割数を指定する方法
7. split()で最大分割数を指定する方法

split()には、何回まで分けるかという回数も指定できます。


text = "りんご,みかん,バナナ,メロン"
print(text.split(",", 2))

['りんご', 'みかん', 'バナナ,メロン']

このように、最大で2回だけ区切られて、3つの要素になります。

8. join()の注意点:リストの要素は文字列にする

8. join()の注意点:リストの要素は文字列にする
8. join()の注意点:リストの要素は文字列にする

join()を使うときは、リストの中がすべて文字列でないとエラーになります。


numbers = [1, 2, 3]
# print("-".join(numbers)) これはエラー

数字などを含む場合はstr()で文字列に変換してから使いましょう。


numbers = [1, 2, 3]
strings = [str(n) for n in numbers]
print("-".join(strings))

1-2-3

9. 練習問題:split()とjoin()を使って加工してみよう

9. 練習問題:split()とjoin()を使って加工してみよう
9. 練習問題:split()とjoin()を使って加工してみよう

次の文字列を分割して、スラッシュ「/」で結合してみましょう。


date = "2025-06-15"
parts = date.split("-")
print("/".join(parts))

2025/06/15

このように、日付のフォーマットを変えるときなどにも便利です。

まとめ

まとめ
まとめ

この記事では、Pythonの文字列処理における基礎であるsplitとjoinの考え方と具体的な手順を通して、文字列からリストへ、そしてリストから文字列へと自在に変換する道筋をていねいにたどった。まず、区切り文字の発想で文章を小さな意味のかたまりに分ける流れを身につけ、単語や項目の粒度をそろえることで処理の見通しがよくなることを確認した。さらに、空白を省略した分割の挙動や改行の扱いを押さえ、入力のゆらぎが混じる現実的なデータでも過不足なく分割できるように練習した。続いて、joinで好きな区切りをはさみながら整然とつなぐ発想を学び、見やすい表示や扱いやすい出力に仕立て直す考え方を体験した。これらは短いメモから長い文章、名簿や一覧、設定値やログの整形まで広く応用でき、学び直しのたびに手触りがよくなる基本技術である。

重要なのは、分けるまえに「どこで区切りたいか」をことばにし、つなぐまえに「どのように見せたいか」を思い描く習慣である。たとえば、日本語の文章なら読点や中黒、英数字の並びならカンマやスラッシュ、表示を強調したいなら記号や改行といった具合に、目的に合わせて区切りを選ぶだけで結果の読みやすさは大きく変わる。空白の連続や余分なスペースは分割後に丁寧に取り除き、空要素を除外してから結合するだけで仕上がりがぐっと整う。最大分割数の指定を使えば、最初の一部だけを取り出して残りを丸ごと扱うといった現場の需要にもすっきり応えられる。数字やNoneが混じるときは必ず文字列へそろえてから結合するという心がけも、後々の不具合を未然に防ぐ勘どころだ。

実務の現場では、フォーム入力やCSVの行、ログの一節、設定の一行など、多様な文字列が頻繁に登場する。そこで活躍するのが、splitでの柔軟な分割とjoinでの意図的な整形である。たとえば、名前の一覧をきれいに並べ直す場面、商品名を記号で連結して見出しを作る場面、改行で段落に分けて読みやすくする場面、時刻や日付の並びを別の表記にそっと替える場面など、どれも同じ型で解ける。手順はいつも変わらない。分けて、整えて、つなぐ。この三拍子が揃えば、Pythonの文字列処理は安心して使い回せる日常の道具になる。

さらに、学びを深めるためには「小さく試す姿勢」が役に立つ。短い文字列で分割と結合の結果を確かめ、想定外の空白や空行が紛れ込んだときの動きを観察する。想定どおりに動くことを確認したうえで、少しずつ長い文字列や複数行のテキストへ広げていけば、途中でつまずいても原因を絞り込みやすい。教科書的な説明にとどまらず、自分の手元のメモや身の回りの文言で繰り返し練習すれば、分割と結合の選択が自然と身体に馴染み、作業の迷いが減っていく。

要点の言い切りまとめ:区切り文字は目的から逆算。空白省略は揺れに強い。改行処理は行単位に効く。最大分割数は必要最小限の抽出に効く。結合前に型をそろえる。余分な空白と空要素は除く。

サンプルプログラム:よく使う整形の型をひとまとめ

次の短い例は、日付の体裁を切り替える型、一覧の見た目を整える型、行番号を付けて読みやすくする型を一か所に集めたもの。自分の用途に合わせて区切りと並びを入れ替えれば、そのまま日常の下ごしらえに使える。


# 日付の表記を切り替える
d = "2025-06-15"
y, m, day = d.split("-")
print("/".join([y, m, day]))                 # 2025/06/15
print("".join([y, "年", m, "月", day, "日"])) # 2025年06月15日

# 商品名の一覧を読みやすく整える
names = "りんご, みかん,  バナナ"
items = [s.strip() for s in names.split(",") if s.strip()]
print("・".join(items))                       # りんご・みかん・バナナ

# 複数行に行番号を付ける
text = "一行目\n二行目\n三行目"
rows = text.split("\n")
with_index = [f"{i+1}:{row}" for i, row in enumerate(rows)]
print("\n".join(with_index))

2025/06/15
2025年06月15日
りんご・みかん・バナナ
1:一行目
2:二行目
3:三行目

活用の勘どころチェックリスト

  • 分ける前に区切りの候補を三つ挙げる。
  • 結合前に見せ方の候補を三つ挙げる。
  • 空白のそろえと空要素の除外を常に入れる。
  • 最初に小さく試す。
  • 型をひとつずつ道具箱に足していく。
先生と生徒の振り返り会話

生徒

「きょうは、分けてから整えてつなぐ流れがすっと腹に落ちました。区切りを先に決めるだけで、文字列の表情がこんなに変わるのですね。」

先生

「その通り。splitは分ける基準を明確にし、joinは完成形の姿を先に描くのが上手な使い方だよ。目的がはっきりすれば、選ぶ区切りも自然と決まる。」

生徒

「最大分割数の指定がとても便利でした。最初だけ取り出して残りはそのままにできるので、設定の解析が楽になりそうです。」

先生

「うん、必要最小限で止める発想は実務で重宝する。結合の前には型をそろえることも忘れずにね。数字やNoneが混じるときは迷わず文字列にそろえる。」

生徒

「空白を整えてから結合する型も覚えました。細かな手当てを挟むだけで、仕上がりの見やすさが一段上がります。」

先生

「最後にもう一度。分ける、整える、つなぐ。この順番をいつも意識しよう。小さく確かめながら型を増やせば、文字列処理は味方になってくれる。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのsplitの基本的な意味は何ですか?初心者でも分かるように、文字列をリストに変換する流れと用途を知りたいです。

splitは文字列を区切り文字で分けて要素の並びであるリストに変換する基本機能です。カンマ区切りのCSV風データ、スペースで並んだ単語、改行で分かれた文章などを用途に合わせて分割し、検索、並べ替え、重複削除、表示整形などの前処理を簡単にします。処理の最初に分けておくと後続の操作が明確になり、読みやすいPythonコードにつながります。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.7
Java&Spring記事人気No7
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.8
Java&Spring記事人気No8
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
-
-