Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
生徒
「Pythonで文章を単語ごとに分けたり、逆にくっつけたりってできますか?」
先生
「はい、それにはsplit()
とjoin()
という2つのメソッドを使います。文字列とリストの変換にとても便利ですよ。」
生徒
「splitとjoinって名前が英語で覚えにくそう…」
先生
「splitは『分ける』、joinは『くっつける』という意味です。意味をイメージできれば、使い方も自然に覚えられますよ。」
1. split()とは?文字列を区切ってリストに変換する方法
split()
メソッドは、文字列をある文字で区切ってリストに分けるためのメソッドです。たとえば、「りんご,みかん,バナナ」という文字列を「,(カンマ)」で区切ると、それぞれの果物が1つずつの要素になります。
fruits = "りんご,みかん,バナナ"
print(fruits.split(","))
['りんご', 'みかん', 'バナナ']
このように、文字列を区切ってリストに変換できます。
2. 区切り文字を指定しないとどうなる?
split()
で何も指定しない場合は、スペース(空白)で区切られます。
sentence = "Python は とても 楽しい"
print(sentence.split())
['Python', 'は', 'とても', '楽しい']
このように、複数の単語をスペースで分けるときに便利です。
3. split()を使った応用例:改行で分ける
文章を改行ごとに分けたいときは、\n
(改行文字)を指定します。
text = "1行目\n2行目\n3行目"
print(text.split("\n"))
['1行目', '2行目', '3行目']
これにより、複数行のテキストも簡単に行ごとにリストにできます。
4. join()とは?リストの要素をまとめて文字列に変換する
join()
メソッドは、リストの中の要素を1つの文字列にまとめるときに使います。使い方は、"区切り文字".join(リスト)
という形です。
words = ["Python", "は", "楽しい"]
sentence = " ".join(words)
print(sentence)
Python は 楽しい
このように、リストの中の言葉をスペースでつなげて、1つの文章にできます。
5. join()の使い方いろいろ
区切り文字はスペースだけでなく、カンマや改行など自由に選べます。
words = ["りんご", "みかん", "バナナ"]
print(",".join(words)) # カンマで結合
print("・".join(words)) # 記号で結合
りんご,みかん,バナナ
りんご・みかん・バナナ
用途に応じて、好きな区切りで文章を作ることができます。
6. split()とjoin()をセットで使う
split()
で文字列をリストにし、join()
で再び文字列に戻す、という使い方もよくあります。
text = "おはよう こんにちは こんばんは"
words = text.split() # 分割
print(words)
new_text = "、".join(words) # 結合
print(new_text)
['おはよう', 'こんにちは', 'こんばんは']
おはよう、こんにちは、こんばんは
このように、split()とjoin()を組み合わせると、文字列を自由に加工できます。
7. split()で最大分割数を指定する方法
split()
には、何回まで分けるかという回数も指定できます。
text = "りんご,みかん,バナナ,メロン"
print(text.split(",", 2))
['りんご', 'みかん', 'バナナ,メロン']
このように、最大で2回だけ区切られて、3つの要素になります。
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()を使って加工してみよう
次の文字列を分割して、スラッシュ「/」で結合してみましょう。
date = "2025-06-15"
parts = date.split("-")
print("/".join(parts))
2025/06/15
このように、日付のフォーマットを変えるときなどにも便利です。