下限/上限のいずれかに丸める必要がある特定の値を持つデータセットに取り組んでいます。
例えば。上限を9、下限を3にしたい場合、次のような数値があります-
[ 7.453511737983394,
8.10917072790058,
6.2377799380575,
5.225853201122676,
4.067932296134156 ]
そして、次のように 3 または 9 に丸められるようにリストしたい -
[ 9,
9,
9,
3,
3 ]
配列を反復処理して違いを見つけ、最も近いものを取得するなど、古き良き方法でそれを行うことができることを私は知っています。
私のアプローチコード:
for i in the_list[:]:
three = abs(3-the_list[i])
nine = abs(9-the_list[i])
if three < nine:
the_list[i] = three
else:
the_list[i] = nine
次のようなPythonに組み込まれている迅速で汚い方法があるかどうか疑問に思っています:
hey_bound = round_the_num(number, bound_1, bound_2)
できることはわかっていますmy-approach-codeが、これがはるかに優れた方法で実装されていることはほぼ確実です。見つけようとしましたが、見つけることができませんでした。
これに対する解決策への推測や直接リンクは驚くべきものです。