Python 中的浮點範圍
Python 內建的 range() 函數可讓您產生整數序列。然而,在處理浮點數時,直接的 range() 是不夠的。
問題:非整數步長
使用range( ) 使用浮點作為步長參數會導致錯誤:
<code class="python">>>> range(0.5, 5, 0.5) Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> range(0.5, 5, 0.5) ValueError: range() step argument must not be zero</code>
這是步長參數會導致錯誤:
這是因為range() 要求步長為整數。
解決方案:基於除法的列表推導式
<code class="python">[x / 10.0 for x in range(5, 50, 15)]</code>
創建浮點範圍的一種方法是透過列表推導式與除法結合:
此推導式將範圍中的每個元素除以(5 , 50, 15) 乘以10.0 來產生浮點序列。
替代方案:Map 和Lambda
<code class="python">map(lambda x: x / 10.0, range(5, 50, 15))</code>
另一種方法涉及使用map() 函數和lambda表達式:
這裡, lambda 表達式透過將範圍內的每個數字除以10.0 將其轉換為浮點數。 map() 將此函數應用於範圍內的所有元素,從而產生浮點序列。以上是如何在 Python 中產生浮點範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!