文字列で囲まれたリストをPythonのリストに変換する
文字列を含むデータを取得することもありますが、ストリーム内のデータの構造はPythonリストです。この記事では、文字列で囲まれたリストを、データ操作でさらに使用できる実際のPythonリストに変換します。
評価あり
eval関数は、パラメーターとして提供される実際の結果を提供することがわかっています。そこで、指定された文字列をeval関数に指定して、Pythonリストを取得しました。
例
stringA = "['Mon', 2,'Tue', 4, 'Wed',3]" # Given string print("Given string : \n",stringA) # Type check print(type(stringA)) # using eval res = eval(stringA) # Result print("The converted list : \n",res) # Type check print(type(res))
出力
上記のコードを実行すると、次の結果が得られます-
Given string : ['Mon', 2,'Tue', 4, 'Wed',3] The converted list : ['Mon', 2, 'Tue', 4, 'Wed', 3]
ast.literal_evalを使用
このアプローチでは、見積もりを取得し、文字列をパラメータとして指定してliteral_eval関数を使用します。 Pythonリストが返されます。
例
import ast stringA = "['Mon', 2,'Tue', 4, 'Wed',3]" # Given string print("Given string : \n",stringA) # Type check print(type(stringA)) # using literal_eval res = ast.literal_eval(stringA) # Result print("The converted list : \n",res) # Type check print(type(res))
出力
上記のコードを実行すると、次の結果が得られます-
Given string : ['Mon', 2,'Tue', 4, 'Wed',3] The converted list : ['Mon', 2, 'Tue', 4, 'Wed', 3]
json.loadsを使用
ロード関数インジェクションモジュールは、文字列が評価され、実際のPythonリストが生成される同様の変換を実行できます。
例
import json stringA = '["Mon", 2,"Tue", 4, "Wed",3]' # Given string print("Given string : \n",stringA) # Type check print(type(stringA)) # using loads res = json.loads(stringA) # Result print("The converted list : \n",res) # Type check print(type(res))を使用
出力
上記のコードを実行すると、次の結果が得られます-
Given string : ["Mon", 2,"Tue", 4, "Wed",3] The converted list : ['Mon', 2, 'Tue', 4, 'Wed', 3]
-
文字列をPythonで単語のリストに変換する方法は?
単語のリスト内の文字列を変換するには、空白で文字列を分割する必要があります。文字列クラスからsplit()を使用できます。このメソッドのデフォルトの区切り文字は空白です。つまり、文字列で呼び出されると、その文字列が空白文字で分割されます。 例 >>> "Please split this string".split() ['Please', 'split', 'this', 'string'] 正規表現を使用して、この問題を解決することもできます。正規表現\s +を区切り文字として使用して、
-
Pythonでリストの文字列表現をリストに変換するにはどうすればよいですか?
ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、次のPythonリテラル構造のみで構成されます:文字列、数値、タプル、リスト、dict、ブール値、およびなし。 例 fruits = "['apple', 'orange', 'banana']" import ast fruits = ast.literal_eval(fruits) print fruits[1], fruits[0]