2016-11-23 18 views

答えて

3

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]を与えます。

+1

注意(大丈夫かもしれないが) 'literal_eval'はまた、他のデータ型の多くを受け入れること。 –

+0

はい、そうですが、 'eval'として危険ではありません。 – Matthias

2

有効なJSONですか?その場合は、json.loads()を使用できます。それ以外の場合:

s = '[875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]' 
lst = [float(item) for item in s[1:-1].split(',') 
1

は、これはあなたが望むものである:

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 
2
おそらく

それをやって、よりエレガントな方法が、おそらくのようなもの:

x.strip("[").strip("]").split(",") 

EDIT:以下、コメントで指摘したように

上記のコードでは、文字列内の数値を浮動小数点数に変換しません。これを行うには、以下を参照してください:

[float(i) for i in x.strip("[").strip("]").split(",")] 
+2

'x [1:-1] .split( '、')'はどうですか? – Mohammad

+0

ああ素敵な!それを考えていたはずです! – RichSmith

+0

また、その文字列の数値を適切なPython型に変換しますか? – vaultah

関連する問題