Python で文字列をリストに変換する
Azaz Farooq
2023年1月30日
-
Python で
list()
関数を使って文字列をリストに変換する -
Python で
split()
メソッドを用いて文字列をリストに変換する -
Python の
eval()
関数を用いて文字列をリストに変換する -
ast
メソッドを使って 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 でリストから要素の出現をすべて削除する
- Python で辞書をリストに変換する
- Python でリストから重複を削除する
- Python でリストの平均を取得する方法
- リストメソッドの追加と拡張の違いは何ですか
- Python でリストを文字列に変換する方法