首頁  >  文章  >  後端開發  >  如何使用 Python 切片從清單中提取每個第 N 個元素

如何使用 Python 切片從清單中提取每個第 N 個元素

Linda Hamilton
Linda Hamilton原創
2024-10-20 11:10:02690瀏覽

How to Extract Every Nth Element from Lists Using Python Slicing

使用Python 從清單中提取第N 個元素

任務是從給定清單中提取每個後續的第N個項目。例如,給定一個整數列表[0, 1, 2, 3, ..., 997, 998, 999],目標是獲得一個包含第一個和隨後的第10 個項目的新列表,結果是[0 , 10, 20, 30, ..., 990].

雖然帶有模數檢查的for 循環是一種簡單的方法,但使用Python 的切片運算符存在更簡潔、更有效率的解決方案。

<code class="python">xs = list(range(1000))
new_list = xs[0::10]</code>

這一行用一行程式碼完成了任務。語法 xs[0::10] 是一個切片表達式,其中:

  • 0 指定起始索引(含)。
  • ::10 是一個步驟,表示採取每 10 個元素。

產生的 new_list 包含所需的元素,[0, 10, 20, 30, ..., 990]。

效能比較

基準測試表明,這種切片方法比for 循環解決方案要快得多:

$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]"
517 loops, best of 5: 471.776 usec per loop

$ python -m timeit -s "xs = list(range(1000))" "xs[0::10]"
100000 loops, best of 5: 4.03 usec per loop

這證明了從清單中提取每個第N 個項目的切片方法的效率和簡單性蟒蛇。

以上是如何使用 Python 切片從清單中提取每個第 N 個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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