2017-03-12 5 views
-4

浮動小数点値を持つリストがありますが、1を1ずつ使用してそれらを使用する必要があります。私はそれらを使用したいが、私はそれらをリストから一つずつ取り出す方法を知らない。リストから浮動小数点数を1つずつ抜き出す方法

listthing = [7.0, 3.9, 5.25] 

今、私は

lenghtstuff = float(listthing) * 100 * (7.0 * 2.0 + 0.5) 

計算にそれらを使用する必要があります。しかし、私は、リストから各値で計算を行う必要があり、それが 1をするだろうように、どのように行うのか分かりません)7.0 * 100 *(7.0 * 2.0 + 0.5)
2)3.9 * 100 *(7.0 * 2.0 + 0.5)など

+0

あなたは何を計算したいのかはっきりしていないので、リストをどのように処理するかを教えてもらうのは難しいです。 – byxor

+2

基本的なPythonのチュートリアルを読むことをお勧めします。 –

+0

リストについて学んだら、基本的なリストの索引付けを行う方法とリストを反復する方法を学んだことでしょう...どのテキストブック/チュートリアルからPythonを学んでいますか? –

答えて

0

ループはforです。

for number in listthing: 
    lenghtstuff = float(number) * 100 * (7.0 * 2.0 + 0.5) 
    #do something with lengthstuff such as print it or append it to another list 
+0

良い点。それに応じて編集。 – stybl

0
list(map((lambda x: x* 100 * (7.0 * 2.0 + 0.5)), listthing)) 

私は何を使用しようとしているがマップだと思います。

リスト内包で更新版:

[x* 100 * (7.0 * 2.0 + 0.5) for x in listthing] 
+0

あなたたちは正しいです、私は答えを更新しました。私はハスケルの週末があなたにしていることだと思います。 – Soronbe

+0

@ PM2RingなぜCベースのみですか?私は、既存のPython関数を使うことはまったくいいと思います。そして、リストcompは関数呼び出しをどのように避けるのですか?関数内からコードをコピーしますか? –

+0

@StefanPochmann私が言っていることは、式を 'map'の関数argとして使うだけの場合、関数が適切な' def'関数であるか 'lambda 'の場合、式compをリストcompに書くだけでよい。しかし、私は以前のコメントが誤解を招く可能性があることに同意するので、私はそれを削除します。 –

0

私はこれを達成する最も簡単な方法は、ちょうどそうのようなnumpyの配列にfloatのリストを変換していると思う:

import numpy as np 

arr = np.array([7.0, 3.9, 5.25]) 
resulting_arr = arr * 100 * (7.0 * 2.0 + 0.5) 

numpyのは、実行されますデフォルトで配列全体の操作。これはもちろん、それがインストールされていることに依存しています、それは標準ライブラリにないからです。

+0

Numpyは、何かのためにすでにNumpyを使用していない限り、このシンプルなものには残酷かもしれません(OPのレベルの理解を受けて、Numpyをこの段階で使用していることは間違いありません)。 OTOH、あなたのコードは、OPが試みていた構文の種類が正しい状況で有効であることを示しています。 –

関連する問題