使用 range() 進行浮點迭代
在 Python 中,range() 函數可以方便地產生整數序列。但是,它缺乏對浮點數的直接支持。本文解決如何在 Python 中為浮點數建立類似範圍的序列的問題。
標準 range() 函數接受整數值作為其開始、停止和步驟參數。嘗試對步驟參數使用浮點參數會導致 ValueError。這是因為step參數表示序列中元素之間的增量,而且它不能為零。
浮點範圍的等效方法
實現浮動使用 range() 進行點迭代,一種方法是將參數縮放 10 倍。例如:
<code class="python">>>> range(0.5, 5, 1.5) # Invalid: range() step argument must not be zero [0, 1, 2, 3, 4]</code>
<code class="python">>>> [x / 10.0 for x in range(5, 50, 15)] [0.5, 1.5, 2.5, 3.5, 4.5]</code>
透過將步長值乘以 10,我們實質上建立了一個序列整數,然後將每個元素除以 10 以獲得浮點序列。
另一種方法涉及使用lambda 函數和map() 函數:
<code class="python">>>> map(lambda x: x / 10.0, range(5, 50, 15)) <map object at 0x10440b0e8></code>
lambda 函數轉換每個整數範圍內的值轉換為對應的浮點值,map()將此函數應用於序列中的每個元素。結果是一個地圖對象,可以對其進行迭代以產生所需的浮點範圍。
以上是如何在 Python 中使用 range() 建立浮點範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!