Pythonで文字列をリストに変換する方法!split()とjoin()の基本操作を学ぼう
生徒
「Pythonで文字列を単語ごとに分けたいんですけど、どうすればいいんですか?」
先生
「Pythonにはsplit()というメソッドがあって、文字列を区切ってリストに変換できるんですよ。」
生徒
「逆に、リストをもう一度文字列に戻したいときはどうしますか?」
先生
「そのときはjoin()を使います!それでは基本から丁寧に解説していきましょう。」
1. split()で文字列をリストに分割する
まずはsplit()の使い方です。splitは「分ける」という意味で、文字列を区切ってリストに変換するメソッドです。
何で区切るかは自分で決められます。例えば、スペース(空白)で分けたいときはこうします:
text = "apple banana orange"
fruits = text.split()
print(fruits)
['apple', 'banana', 'orange']
このように、スペースで区切られた単語が、それぞれリストの要素になります。
2. 区切り文字を指定してsplitする方法
split()では、どの文字で区切るかを指定することもできます。たとえば、カンマ「,」で区切りたいときは:
text = "apple,banana,orange"
fruits = text.split(",")
print(fruits)
['apple', 'banana', 'orange']
このように、split("文字")と書けば好きな記号で区切れます。
3. split()は改行でも使える
split()は改行文字「\n」でも分けられます。改行された文章を1行ずつ取り出すのに便利です。
text = "Python\nJava\nC++"
languages = text.split("\n")
print(languages)
['Python', 'Java', 'C++']
メール本文やファイルの内容を行ごとに処理したいときにも使えます。
4. join()でリストを文字列に変換する
今度は逆に、リストを1つの文字列にまとめたい場合です。これはjoin()を使います。
たとえばリストをスペースでつなげたいときは:
fruits = ['apple', 'banana', 'orange']
text = " ".join(fruits)
print(text)
apple banana orange
" "(スペース)がリストの要素をつなぐ接着剤のような役割になります。
5. join()の区切り文字を変えて使う
join()でも、カンマやスラッシュなど好きな文字を指定できます。
names = ['Taro', 'Hanako', 'Jiro']
csv = ",".join(names)
print(csv)
Taro,Hanako,Jiro
このようにjoin()はリストを「1つの文字列に整える」ときにとても便利です。
6. split()とjoin()を組み合わせて使う
split()とjoin()はセットで使うことがよくあります。
例として、「カンマで区切られた文字列を分けてから、スペースで結合する」操作を見てみましょう。
text = "dog,cat,bird"
animals = text.split(",") # カンマで分割
result = " ".join(animals) # スペースで結合
print(result)
dog cat bird
このように、文字列を扱うときに非常によく使われるテクニックです。
7. 応用:CSV形式のデータを扱う例
CSV(カンマ区切り)形式のデータを処理するときにもsplit()とjoin()は大活躍します。
たとえば、ファイルの1行から名前を取り出して整形したいとき:
line = "Sato,Yamada,Tanaka"
names = line.split(",")
formatted = "さんと ".join(names) + "さん"
print(formatted)
Satoさんと Yamadaさんと Tanakaさん
このように、リストにしてからjoinで加工することで、自由に整形できます。
8. split()とjoin()の違い
- split():文字列をリストに分割する
- join():リストを文字列に結合する
splitは「ばらばらにする」、joinは「つなげる」というイメージです。
この2つのメソッドを覚えるだけで、Pythonの文字列処理がぐんと楽になります。
まとめ
この記事では、Pythonで文字列をリストに変換するために欠かせないsplitメソッドと、反対にリストを文字列にまとめるjoinメソッドの基本的な使い方を丁寧に確認しました。ひとつの文字列を区切り文字で分割して扱いやすい形に整理したり、複数の要素を加工しながら結合して読みやすい文章を生成したりする操作は、日常的なプログラミングの中で非常に重要です。特に、空白やカンマ、改行などの区切りを指定して柔軟に分割処理を行える点は、データ整形や文字列解析の場面で役に立ちます。また、結合処理では、任意の文字を挟むことで自然な文章を構築したりCSV形式に整えたりと幅広い応用が可能です。 Pythonの文字列処理は基礎でありながら奥が深く、テキストデータの加工やファイル処理、ログ解析、ユーザー入力の整形などさまざまな場所で登場します。こうした操作を理解することで、コード全体の流れも分かりやすくなり、複雑な処理も短く書けるようになります。実務や学習において頻繁に利用する場面があるため、今回の内容をしっかり押さえておくと、後の学習効率が大きく向上します。同時に、splitとjoinを組み合わせたデータ変換は、テキスト処理系のプログラムでは定番のテクニックであり、文章の書き換えや形式変換をスムーズにこなせます。ここで身につけた基本操作を糸口に、さまざまな文字列の加工方法に挑戦してみると実力が大きく伸びていくでしょう。
サンプルプログラムで振り返る
以下では、記事で学んだsplitとjoinの動きを再確認できる簡単なサンプルコードを掲載します。区切り文字の扱い方やリストを整形する流れを実際のコードとして確認することで理解がより深まります。
text = "りんご みかん ぶどう もも"
words = text.split() # 空白で分割
joined_text = "・".join(words) # 中黒で結合
print(words)
print(joined_text)
上記のように、分割と結合を組み合わせることで、文章の整形やデータ加工が容易になります。Pythonでは、文字列を柔軟に扱うことでさまざまな形式に変換できるため、日常的なスクリプト作成やファイル処理でも大きな力を発揮します。また、区切り文字を変えることで、処理を状況に合わせて調整できる点も大きな魅力です。
生徒
「splitとjoinって実際に使ってみるとすごく便利ですね。文章の区切りを操作するだけでこんなに整った形になるとは思いませんでした。」
先生
「その通りです。文字列処理はシンプルですが、データ整形や情報抽出に欠かせません。splitは情報を分ける役目、joinはまとめて形を整える役目を担っているので、二つを理解すると作業の幅が一気に広がりますよ。」
生徒
「CSVデータの整形とか文章の加工にも使えるって分かったので、これからどんどん活用してみたいです。」
先生
「良いですね。特にデータ分析やログ収集の場面では文字列を扱うことが多いので、この基本がしっかりしていれば安心です。実際の作業でも役立つので、ぜひいろいろ試してください。」