我正在撰寫一個回傳 0 到 0.25 之間的值的程式。我想將此值四舍五入到最接近預定義值串列的值。
例如給定一個串列
round_to = [0,0.1,0.15,0.2,0.25]
值 0.004 應四舍五入為 0,值 0.09 -> 0.1,值 0.126 -> 0.15,值 0.22 -> 0.2,依此類推。
有誰知道一個優雅的方式來完成這個?
任何見解都非常感謝!
uj5u.com熱心網友回復:
您可以使用key 引數,根據每個值之間差異的絕對值min()比較條目:round_to
round_to = [0,0.1,0.15,0.2,0.25]
entry = 0.126
min(round_to, key=lambda x: abs(x - entry))
這輸出:
0.15
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469256.html
上一篇:SpringBootAzure存盤客戶端產生java.lang.NoSuchFieldError:NOOP_CONFIGUER
下一篇:當x?=N時找到x的值的遞回程式
