Python で文字列をリストに変換する

Azaz Farooq 2023年1月30日
  1. Python で list() 関数を使って文字列をリストに変換する
  2. Python で split() メソッドを用いて文字列をリストに変換する
  3. Python の eval() 関数を用いて文字列をリストに変換する
  4. ast メソッドを使って Python で文字列をリストに変換する
Python で文字列をリストに変換する

Python リストは変更可能です。そのため、プログラムの実行中にいつでもその要素を上書き、変更、および削除できます。文字列はシングルクォーテーションやダブルクォーテーションで囲まれた文字の組み合わせであり、変更可能ではありません。

この記事では、Python で文字列をリストに変換するさまざまな方法を実演します。

Python で list() 関数を使って文字列をリストに変換する

list() 関数は文字列を Python でリストに変換します。

以下のコードを例にしてみましょう。

test_str = "Python"
list(test_str)

出力:

['P', 'y', 't', 'h', 'o', 'n']

関数 list() は文字列を引数に取り、それをリストに変換します。文字列内のすべての文字がリスト内の個々の要素になります。

Python で split() メソッドを用いて文字列をリストに変換する

文字列をカンマ区切りの値で取ってみましょう。

string = "x,y,z"

次に、文字列値をリスト要素に分割します。

完全な例のコードは以下の通りです。

string = "x,y,z"
output = string.split(",")
output

出力:

['x', 'y', 'z']

上記の例では、与えられた区切り文字 , で文字列をリストに分割しています。区切り文字が指定されていない場合は、空白をデフォルト値として使用します。

Python の eval() 関数を用いて文字列をリストに変換する

このメソッドは文字列が安全な場合にのみ文字列をリストに変換し、eval() 関数内の文字列を解析して Python 式として決定することを意味します。Python の式として評価できなかった場合はエラーが発生します。これは Python のメソッドではありません。これの代わりに split() メソッドや ast メソッドを使えばよい。

このメソッドに指定された文字列を指定してみましょう。

string = "['xxx','yyy','zzz']"

完全なサンプルコードは以下の通りです。

string = "['xxx','yyy','zzz']"
output = eval(string)
output

出力:

['xxx', 'yyy', 'zzz']

ast メソッドを使って Python で文字列をリストに変換する

このメソッドは ast ライブラリ (Abstract Syntax Trees) を利用します。このライブラリでは、文字列をリストに変換するために eval() 関数を使用します。

完全なサンプルコードは以下の通りです。

import ast

string = "['xxx','yyy','zzz']"
output = ast.literal_eval(string)
output

出力:

['xxx', 'yyy', 'zzz']

関連記事 - Python List

関連記事 - Python String