首頁 > 後端開發 > Python教學 > 如何在Python中有效率地旋轉清單?

如何在Python中有效率地旋轉清單?

Susan Sarandon
發布: 2024-12-15 10:07:14
原創
907 人瀏覽過

How Can I Efficiently Rotate a List in Python?

Python 中的高效列表旋轉

旋轉列表是指將其元素沿任一方向移動指定數量的位置。雖然提供的使用切片的程式碼是有效的,但可以實現效能改進。

使用 Collections.Deque

Python 標準函式庫提供了更有效率的資料結構對於此類操作:collections.deque。雙端佇列針對從兩端執行入隊和出隊等操作進行了最佳化。他們也提供了專用的rotate()方法。

要利用雙端佇列進行清單輪換,請依照下列步驟操作:

  1. 匯入雙端佇列類別:from collections import deque。
  2. 從原始清單初始化一個雙端佇列:items = deque(list())。
  3. 旋轉雙端佇列,使用rotate()方法,指定要移動的位置數。正值向右移動,負值向左移動。
  4. 使用 popleft() 或 popright() 從雙端佇列中擷取第一項,以獲得旋轉後的清單。

範例

考慮以下內容例如:

from collections import deque

items = deque([1, 2, 3])
items.rotate(1)        # deque == [3, 1, 2]
items.rotate(-1)       # deque returns to original state: [1, 2, 3]
item = items.popleft() # deque == [2, 3]
登入後複製

在這種情況下,雙端隊列以[1, 2 , 3] 開頭。向右旋轉一次後就變成了[3,1,2]。向左旋轉可將其恢復到原來的順序。最後,刪除第一項會得到包含 [2, 3] 的雙端佇列。

透過使用 deque 及其rotate() 方法,您可以在 Python 中實現高效的列表旋轉。

以上是如何在Python中有效率地旋轉清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板