リストの文字列表現をPythonでリストに変換する
Pythonはさまざまなデータ型を処理するため、リストが文字列の形式で表示される状況に遭遇します。この記事では、文字列をリストに変換する方法を説明します。
ストリップとスプリット付き
最初にstripメソッドを適用して角かっこを削除し、次にsplit関数を適用します。パラメータとしてコンマを使用するsplit関数は、文字列からリストを作成します。
例
stringA = "[Mon, 2, Tue, 5,]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = stringA.strip('][').split(', ') # Result and its type print("final list", res) print(type(res))
出力
上記のコードを実行すると、次の結果が得られます-
Given string [Mon, 2, Tue, 5,] final list ['Mon', '2', 'Tue', '5,']
json.loadsを使用
jsonモジュールは、文字列からリストに直接変換できます。文字列をパラメータとして渡すことで関数を適用するだけです。ここでは数値要素のみを考慮することができます。
例
import json stringA = "[21,42, 15]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = json.loads(stringA) # Result and its type print("final list", res) print(type(res))
出力
上記のコードを実行すると、次の結果が得られます-
Given string [21,42, 15] final list [21, 42, 15]
ast.literal_evalを使用
astモジュールは、文字列をリストに直接変換できるliteral_evalを提供します。文字列をパラメータとしてliteral_evalメソッドに提供するだけです。ここでは数値要素のみを考慮することができます。
例
import ast stringA = "[21,42, 15]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = ast.literal_eval(stringA) # Result and its type print("final list", res) print(type(res))
出力
上記のコードを実行すると、次の結果が得られます-
Given string [21,42, 15] final list [21, 42, 15]
-
Pythonで文字のリストを文字列に変換するにはどうすればよいですか?
Pythonには、要素間にセパレータを挿入してシーケンスオブジェクト内の要素を結合することで文字列を返すjoin()関数が組み込まれています。区切り文字のない文字列が必要な場合は、null文字列で初期化します >>> lst=['h','e','l','l','o'] >>> str='' >>> str.join(lst) 'hello'
-
Pythonでリストの文字列表現をリストに変換するにはどうすればよいですか?
ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、次のPythonリテラル構造のみで構成されます:文字列、数値、タプル、リスト、dict、ブール値、およびなし。 例 fruits = "['apple', 'orange', 'banana']" import ast fruits = ast.literal_eval(fruits) print fruits[1], fruits[0]