float値で構成されるリストがありますが、詳細すぎて続行できません。次の("%.f" % variable)
ように、演算子を使用してそれらを短縮できることを知っています。
result = [359.70000000000005]
result = "%.2f" % result
result = [359.70]
私の質問は、イテレータを使用せずに、値のリストを丸められた同等の値にどのように変換できるかです。私は何かを試しましたが、それがスローされますTypeError
:
list = [0.30000000000000004, 0.5, 0.20000000000000001]
list = "%.2f" % list
TypeError: not all arguments converted during string formatting
次のようなクリーンなリストを提供するにはどうすればよいですか?
list = [0.30, 0.5, 0.20]
"%.2f"
クリーンなフロートを返しません。この浮動小数点を表す文字列を2桁の小数で返します。
my_list = [0.30000000000000004, 0.5, 0.20000000000000001]
my_formatted_list = [ '%.2f' % elem for elem in my_list ]
戻り値:
['0.30', '0.50', '0.20']
また、変数を呼び出さないでくださいlist
。リスト作成用の予約語です。たとえば、他の名前を使用しますmy_list
。
取得したい場合[0.30, 0.5, 0.20]
(または少なくとも可能な限り最も近い浮動小数点数)、これを試すことができます。
my_rounded_list = [ round(elem, 2) for elem in my_list ]
戻り値:
[0.29999999999999999, 0.5, 0.20000000000000001]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加