外部メソッドは、私に次の文字列、 [875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]\n
を返します。コンマ区切りのダブルストリングの文字列をリストに変換する
私はそれをリストに変換する必要があります。
外部メソッドは、私に次の文字列、 [875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]\n
を返します。コンマ区切りのダブルストリングの文字列をリストに変換する
私はそれをリストに変換する必要があります。
literal_eval
.のタスクのように見えます。
from ast import literal_eval
data = literal_eval('[875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]')
これはあなたにリスト[875.5599999999476, -223155.0180000058, 766.8799999999985, 1830.867499999997]
を与えます。
注意(大丈夫かもしれないが) 'literal_eval'はまた、他のデータ型の多くを受け入れること。 –
はい、そうですが、 'eval'として危険ではありません。 – Matthias
有効なJSONですか?その場合は、json.loads()
を使用できます。それ以外の場合:
s = '[875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]'
lst = [float(item) for item in s[1:-1].split(',')
は、これはあなたが望むものである:
l = [875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]
print (l)
出力:
[875.5599999999476, -223155.0180000058, 766.8799999999985, 1830.867499999997]
やリストの各項目を分割しますか?
l = [875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]
for x in l:
print(x)
出力:
875.5599999999476
-223155.0180000058
766.8799999999985
1830.867499999997
それをやって、よりエレガントな方法が、おそらくのようなもの:
x.strip("[").strip("]").split(",")
EDIT:以下、コメントで指摘したように
上記のコードでは、文字列内の数値を浮動小数点数に変換しません。これを行うには、以下を参照してください:
[float(i) for i in x.strip("[").strip("]").split(",")]
をそれはです;レディリスト – Inconnu