ホームページ >バックエンド開発 >Python チュートリアル >Python リストをローテーションするための連結よりも効率的な方法はありますか?
Python リストの効率的な回転
リストを回転するには、その要素を指定された位置数だけ左または右にシフトする必要があります。提供されたコードに示されているように、一般的なアプローチは、元のリストの必要な部分を連結することです。しかし、より効率的な方法はありますか?
Collections.deque を利用する
Collections.deque は、両端からの要素の追加と削除を効率的に行うように設計されており、最適化されたリストローテーションのソリューション。組み込みのrotate() メソッドにより、この操作が簡素化されます。
元のリストを両端キューに変換することで、rotate() メソッドを利用して効率的な回転を実行できます。例:
from collections import deque l = deque([1, 2, 3, 4]) l.rotate(1) # rotate one position to the right print(l) # deque([2, 3, 4, 1])
さらに、負の値を指定してrotate() メソッドを呼び出して要素を左にシフトできます。
l.rotate(-1) # rotate one position to the left print(l) # deque([1, 2, 3, 4])
collections.deque を使用すると、簡単で簡単なPython でリストをローテーションするための効率的なメカニズム。
以上がPython リストをローテーションするための連結よりも効率的な方法はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。