在Python 中從列表中提取每個第N 個元素
當面臨從列表中提取每個第N 個元素的任務時,例如選擇對於從0 到1000 的整數列表中的每10 個項目,一種簡單的方法可能涉及使用for 循環來迭代列表並檢查每個元素索引的模數N。但是,有一種更有效率、更優雅的方法,可以用一行程式碼完成相同的結果。
使用Python的切片語法,我們可以透過指定步長N來擷取每個第N個元素。在提供的範例中,我們可以使用以下方法來獲得所需的列表以下程式碼:
<code class="python">xs = list(range(165)) result = xs[0::10]</code>
此方法比迭代檢查每個元素的索引要快得多,如以下時間比較所示:
$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]" 500 loops, best of 5: 476 usec per loop $ python -m timeit -s "xs = list(range(1000))" "xs[0::10]" 100000 loops, best of 5: 3.32 usec per loop
透過利用切片語法,我們可以有效地在Python 中從列表中提取每個第N 個元素,這對於注重速度的大型列表特別有用。
以上是如何在 Python 中有效率地從清單中提取第 N 個元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!