リストがあります:
ab = [1, 2, a, b, c]
やった:
strab = str(ab).
今strab
は文字列です。
その文字列をリストにキャストしたい。
どうやってやるの?
最も簡単で安全な方法は、次を使用することast.literal_eval()
です。
import ast
ab = [1, 2, 'a', 'b', 'c'] # a list
strab = str(ab) # the string representation of a list
strab
=> "[1, 2, 'a', 'b', 'c']"
lst = ast.literal_eval(strab) # convert string representation back to list
lst
=> [1, 2, 'a', 'b', 'c']
ab == lst # sanity check: are they equal?
=> True # of course they are!
呼び出しeval()
も機能しますが、安全ではないため使用しないでください。
eval(strab)
=> [1, 2, 'a', 'b', 'c']
ast パッケージを使用します。
import ast
lst = ast.literal_eval(strab)
numpy 配列要素をシーケンスで設定するコンテキストでは、組み込みの結合を使用して文字列への設定をバイパスできます。
str_list_obj = '-'.join(list_obj)
その後、必要に応じて、同じコネクタを使用して文字列シーケンスを再度分割します (リストの文字列に表示されない場合)。
og_list_obj = str_list_obj.split("-")