2016-12-13 9 views
-1

誰もがこの問題を解決する方法を知っていますか? 私は次のコードを持っています。 print(result)の出力Python 3:浮動小数点数のリストを作成するには?

92.213725 
191.586143 
228.981615 
240.353291 

と、次のされています:

['9', '2', '.', '2', '1', '3', '7', '2', '5', '1', '9', '1', '.', '5', '8', 
'6', '1', '4', '3', '2', '2', '8', '.', '9', '8', '1', '6', '1', '5', '2', 
'4', '0', '.', '3', '5', '3', '2', '9', '1'] 

私は形式以下で出力を得るために期待:

[92.213725, 191.586143, 228.981615, 240.353291] 

result=[] 
for i in range(len(response_i['objcontent'][0]['rowvalues'])): 
    lat = response_i['objcontent'][0]['rowvalues'][i][0] 
    print(lat) 
    for i in lat: 
     result.append(i)  
    print (result) 

には、以下のprint(lat)の出力であります

誰でもこの問題の解決方法を知っていますか?

おかげ

+3

まず、あなたが間違っている 'range(len(something)) 'を反復処理している*時。第二に、 'lat'を通じたネストされた繰り返しですか?単に 'lat'を直接追加するのはなぜですか? –

+0

@DanielRosemanトピック外ですが、なぜ 'range(len(something)) 'を反復しているのが間違っていますか?時には、私は同じ長さのリストを2つ持っています。ループして一緒にする必要があります。 'range(len(something)) 'なしでこれがどうできるか説明できますか? –

+2

私はおそらく多分双曲線ですが、あなたの場合には 'for a、b in zip(list1、list2)'のようなものでしょうか? –

答えて

1

だから、あなたの誤りではなく、単にリストにあなたのlatituteを追加するのでは文字列として、緯度の各文字を反復処理し、リストにその文字を追加しているということです。範囲を使用して、そのほかに

result=[] 
for value in response_i['objcontent'][0]['rowvalues']: 
    lat = value[0] 
    print(lat) 
    result.append(float(lat)) 

print (result) 

、(LEN(...)))、それらのいずれかを実装していないので、物事はほとんど全ての現代語で行われなければならな方法です「のために...それぞれ」不完全な、または間違った方法でそれを行う。

Pythonでは、最初から反復が必要なときには、インデックスの後ろの検索のためのインデックスではなく、シーケンスのアイテムを取得したいと考えています。いくつかの慣れ親しんだビルトインがあなたのシーケンスを確実にするために使われます:zipを使って1つ以上のシーケンスをミックスし、必要に応じてインデックスを列挙します。

関連する問題