Pythonのsplit()メソッドの使い方を徹底解説!文字列をリストに分割する方法
Pythonのsplit()メソッドは、文字列を指定した区切り文字(セパレータ)に基づいて分割し、リストとして返すメソッドです。デフォルトの区切り文字は空白文字で、よく使われる区切り文字にはスペースやカンマなどがあります。
文字列の内容をPythonのリストに分割するのは、プログラミングで非常によく使われる操作です。例えば、レシピの材料一覧が1つの文字列になっていて、それを個別の項目のリストに分けたい場合などが挙げられます。
そんなときに役立つのが、Pythonのsplit()メソッドです。split()メソッドを使えば、指定した区切り文字をもとに、文字列を部分文字列のリストへと分解できます。
この記事では、実際のコード例を交えながら、Pythonのsplit()関数の基本を詳しく解説します。読み終える頃には、split()メソッドを自信を持って使いこなせるようになっているでしょう。
Pythonにおける文字列の基礎
文字列とは、文字の集まりのことです。Pythonプログラムの中でテキストデータを保存・操作するために使われます。文字列はデータを順番に格納することから、Pythonのシーケンス型のひとつに分類されます。
以下は、Pythonでの文字列の例です。
example_string = "I am an example string!"
このコードでは、「I am an example string!」という文字列を変数example_stringに代入しています。
Pythonには、文字列をより小さな要素に分解するための文字列メソッドが多数用意されています。split()もそのひとつで、文字列を分割することができるメソッドです。次に、このメソッドの仕組みを見ていきましょう。
Pythonのsplit()メソッドとは
split()メソッドは、文字列をリストに分割します。文字列は区切り文字に基づいて分割され、デフォルトでは空白文字が使われます。
string_name.split(separator, maxsplit)
split()は組み込み関数なので、ライブラリをインポートする必要はありません。split()メソッドの主な構成要素は以下の通りです。
- separator:split()関数が文字列を分割する際に使用する区切り文字です。デフォルトでは任意の空白文字(スペース、改行など)が区切り文字として使われます。このパラメータは省略可能です。
- maxsplit:分割を実行する最大回数を指定します。デフォルト値は-1で、これは無制限に分割を行うことを意味します。こちらのパラメータも省略可能です。
Pythonのsplit()メソッドは、文字列の末尾に付けて呼び出します。これは文字列メソッドに共通する特徴です。print()関数のように、分割したい文字列をsplit()の括弧内に記述するのではない点に注意しましょう。
split()メソッドは、元の文字列のコピーをリスト形式で返します。これは、Pythonの文字列がイミュータブル(不変)であり、後から変更できないためです。つまり、split()は元の文字列を書き換えません。
それでは、split()メソッドの動作を理解するために、いくつか具体例を見ていきましょう。
split()メソッドの実践例:文字列をリストに分割する
例えば、チョコチップマフィンの材料が記載された文字列があり、それをリストに分割したいとします。各材料はカンマで区切られています。split()メソッドを使えば、材料の文字列をリストに変換できます。
実際に、材料リストの文字列を分割してみましょう。
ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",")
print(list_of_ingredients)
このコードを実行すると、以下の出力が得られます。
['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar', ' 400g self-raising flour', ' 100g chocolate chips']
まず、ingredientsという変数を定義し、材料リストの文字列を格納します。各材料はカンマ(,)で区切られています。
次に、split()メソッドを使って、ingredientsの文字列をカンマで分割します。separatorパラメータにカンマを指定することで、Pythonに「カンマで区切ってほしい」ことを伝えています。そして、split()メソッドの結果をlist_of_ingredientsという変数に代入します。
最後に、list_of_ingredientsの内容をコンソールに出力します。文字列が6つの要素を持つリストに変換され、各要素がそれぞれ1つの材料に対応していることが確認できます。
分割回数を制限する方法
maxsplitパラメータを使うと、文字列を分割する回数に上限を設けることができます。例えば、リストの最初の3つの材料だけを分割し、残りはそのままにしたい場合は、次のようなコードになります。
ingredients = "2 eggs, 125ml Vegetable oil, 250ml Semi-skimmed milk, 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips"
list_of_ingredients = ingredients.split(",", 3)
print(list_of_ingredients)
このコードの出力結果は以下の通りです。
['2 eggs', ' 125ml Vegetable oil', ' 250ml Semi-skimmed milk', ' 250g golden caster sugar, 400g self-raising flour, 100g chocolate chips']
このコードでは、maxsplitパラメータに3を指定しています。separatorには、最初の例と同じくカンマを指定しています。
maxsplitパラメータを指定すると、文字列は最大3つの要素に分割され、残りの文字列はそのままリストの最後の要素として追加されます。
その結果、リストには4つの要素だけが含まれています。最初の3つの要素は個別の材料であり、最後の要素には元の文字列の残りの部分がそのまま入っています。
まとめ
Pythonのsplit()メソッドを使うと、指定した区切り文字をもとに文字列をリストへ分割できます。例えば、カンマ(,)で文字列を分割したり、特定の文字で分割したりすることが可能です。
この記事では、Pythonの文字列の基礎と、split()メソッドの基本的な使い方について解説しました。これであなたも、プロのようにsplit()メソッドを使いこなせるはずです。
-
WindowsでPythonを使う方法|インストールから実行・モジュール導入まで完全解説
初心者にも学びやすいプログラミング言語の代表格として、Pythonは世界中の何百万人ものコーダーに選ばれています。学習のハードルが低く、Windows・macOS・Linuxなど主要なOSすべてでサポートされており、Webサイト開発からデスクトップゲーム制作まで、幅広いプロジェクトに活用できるのが魅力です。 macOSやLinuxではPythonが最初からインストールされていることが多い一方、Windowsではいくつか追加の手順を踏む必要があります。この記事では、WindowsでPythonをインストールし、実際に使い始めるまでの流れをわかりやすく解説します。 WindowsへのPyt
-
PythonのTkinterでスレッドを使う方法|threadingモジュールによる非同期処理の基本
Tkinterでは、スレッド(Threading)を活用することで、複数の関数を同時に実行できます。これにより、アプリケーション内の処理を非同期で動かすことが可能になります。 Pythonでスレッドを使用するには、まずthreadingモジュールをインポートし、そのThreadクラスを継承した新しいクラスを定義します。そして、クラス内でrunメソッドをオーバーライドし、実行したい処理をその中に記述します。 つまり、スレッドを使えば複数の作業を並行して進めることができます。Tkinterアプリケーションでスレッドを実現する際は、Thread()関数を利用します。 ここでは、「一定時間スリープした