首頁  >  文章  >  後端開發  >  如何在 Python 中有效率地從清單中提取第 N 個元素?

如何在 Python 中有效率地從清單中提取第 N 個元素?

Susan Sarandon
Susan Sarandon原創
2024-10-20 11:17:30125瀏覽

How to Efficiently Extract Every Nth Element from a List in Python?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn