このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】文字列とリスト間の変換

文字列とリスト間の変換

 文字列とリストは、Pythonプログラミングにおいて非常に頻繁に使用されるデータ型です。これらのデータ型間でデータを変換することは、データの処理や操作を効率的に行うために欠かせません。例えば、データをCSV形式で保存・読み込みする際や、ユーザーからの入力を処理する際に、文字列とリストの変換が必要となることが多々あります。
 ここでは、文字列とリスト間の変換方法について詳しく解説します。具体的なメソッドや実例を通じて、効果的なデータ変換の方法を習得しましょう。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.文字列をリストに変換する方法

 文字列をリストに変換することで、個々の文字や単語を個別に操作できるようになります。Pythonでは、文字列(strクラス)のsplitメソッドを使用して、指定したデリミタ(区切り文字)で文字列を分割し、リストとして取得することが可能です。

1.1. splitメソッドの基本的な使用方法

splitメソッドは、文字列を指定したデリミタで分割し、その結果をリストとして返します。デリミタは任意の文字列を指定でき、1文字でも複数文字でも問題ありません。

例:カンマ区切りの文字列をリストに変換

例えば、果物の名前がカンマで区切られた文字列をリストに変換してみましょう。

サンプルプログラム

# カンマ区切りの果物リストを文字列として定義
fruits_str = 'apple,banana,cherry,orange'
print(fruits_str)  # 出力: apple,banana,cherry,orange

# splitメソッドを使ってリストに変換
fruits_list = fruits_str.split(',')
print(fruits_list)  # 出力: ['apple', 'banana', 'cherry', 'orange']

出力結果

apple,banana,cherry,orange
['apple', 'banana', 'cherry', 'orange']

解説

  • fruits_str.split(',') は、fruits_str をカンマ , で分割し、各要素をリストの要素として返します。
  • 結果として、['apple', 'banana', 'cherry', 'orange'] というリストが得られます。

1.2. 複数文字をデリミタとして使用する方法

 splitメソッドでは、複数文字をデリミタとして指定することも可能です。これにより、より複雑な文字列の分割が行えます。

例:ハイフンとスペースをデリミタにした文字列の分割

例えば、ハイフンとスペースで区切られた文字列をリストに変換してみましょう。

サンプルプログラム

# ハイフンとスペースで区切られた文字列を定義
colors_str = 'red - green - blue - yellow'
print(colors_str)  # 出力: red-green-blue-yellow

# splitメソッドを使ってリストに変換
colors_list = colors_str.split(' - ')
print(colors_list)  # 出力: ['red', 'green', 'blue', 'yellow']

出力結果

red - green - blue - yellow
['red', 'green', 'blue', 'yellow']

解説

  • colors_str.split(' - ') は、colors_str をスペースとハイフンとスペース ' - 'で分割し、リストとして返します。
  • 結果として、['red', 'green', 'blue', 'yellow'] というリストが得られます。

2.リストを文字列に変換する方法

 リストを文字列に変換することで、リストの要素を一つの文字列として結合することができます。Pythonでは、文字列(strクラス)のjoinメソッドを使用して、指定したデリミタでリストの要素を連結します。

2.1. joinメソッドの基本的な使用方法

 joinメソッドは、指定したデリミタを使ってリストの要素を連結し、一つの文字列として返します。デリミタは任意の文字列を指定でき、1文字でも複数文字でも問題ありません。

例:リストの要素をカンマで結合して文字列に変換

例えば、果物のリストをカンマで結合して一つの文字列に変換してみましょう。

サンプルプログラム

# 果物のリストを定義
fruits_list = ['apple', 'banana', 'cherry', 'orange']
print(fruits_list)  # 出力: ['apple', 'banana', 'cherry', 'orange']

# joinメソッドを使って文字列に変換
fruits_str = ','.join(fruits_list)
print(fruits_str)  # 出力: apple,banana,cherry,orange

出力結果

['apple', 'banana', 'cherry', 'orange']
apple,banana,cherry,orange

解説

  • ','.join(fruits_list) は、リスト fruits_list の各要素をカンマ , で結合し、一つの文字列として返します。
  • 結果として、'apple,banana,cherry,orange' という文字列が得られます。

2.2. 複数文字をデリミタとして使用する方法

 joinメソッドでは、複数文字をデリミタとして指定することも可能です。これにより、リストの要素をより複雑な形式で連結できます。

例:スペースとハイフンをデリミタにしたリストの結合

 例えば、リストの要素をスペースとハイフン - で結合して一つの文字列に変換してみましょう。

サンプルプログラム

# 色のリストを定義
colors_list = ['red', 'green', 'blue', 'yellow']
print(colors_list)  # 出力: ['red', 'green', 'blue', 'yellow']

# スペースとハイフンを使って文字列に変換
colors_str = ' - '.join(colors_list)
print(colors_str)  # 出力: red - green - blue - yellow

出力結果

['red', 'green', 'blue', 'yellow']
red - green - blue - yellow

解説

  • ' - '.join(colors_list) は、リスト colors_list の各要素をスペースとハイフン - で結合し、一つの文字列として返します。
  • 結果として、'red - green - blue - yellow' という文字列が得られます。

まとめ

以下の表に、ここで解説した「文字列とリスト間の変換」に関する主要なポイントをまとめます。

項目説明
文字列をリストに変換する方法splitメソッドを使用して、指定したデリミタで文字列を分割し、リストとして取得する。
splitメソッドの使い方文字列を指定したデリミタで分割し、リストの各要素として返す。デリミタは1文字でも複数文字でも可能。
リストを文字列に変換する方法joinメソッドを使用して、リストの要素を指定したデリミタで連結し、一つの文字列として取得する。
joinメソッドの使い方リストの各要素を指定したデリミタで結合し、一つの文字列として返す。デリミタは1文字でも複数文字でも可能。
デリミタの選択方法デリミタは用途に応じて選択し、カンマやスペース、ハイフンなどを使用する。特定のフォーマットに合わせることが重要。
実用例CSVデータの処理、ユーザー入力の分割、データのフォーマット変換など、様々な場面で活用できる。

次のコンテンツでは、その他の便利なリスト操作について詳しく解説していきます。