ホームページ >バックエンド開発 >Python チュートリアル >Python でリストを効率的にローテーションするにはどうすればよいですか?
問題:
要素がシフトされるリストの回転指定された回数だけ実行することは、コーディングにおける一般的な操作です。従来のアプローチではリストをスライスする必要があり、リストが大きい場合には非効率になる可能性があります。より効率的な解決策はありますか?
回答:
デキューの活用:
リストを使用する代わりに、コレクションを利用します。 .deque オブジェクトは、回転のより効率的な代替手段を提供します。 Deque は両端から要素を追加および削除するように最適化されており、専用のrotate() メソッドを備えています。
コード例:
from collections import deque # Creating a deque with initial elements items = deque([1, 2]) # Appending an element items.append(3) # deque == [1, 2, 3] # Rotating the deque by 1 items.rotate(1) # deque == [3, 1, 2] # Rotating the deque by -1 (restores original order) items.rotate(-1) # deque == [1, 2, 3] # Popping an element from the left end item = items.popleft() # deque == [2, 3]
利点deque の:
ローテーションに deque を使用すると、次のような利点があります。利点:
結論:
Python でリストを効率的にローテーションするには、collections.deque を活用することで、従来のリストのスライスと比較して優れたアプローチが提供されます。 Deque は、定数時間のローテーション、メモリ効率、およびさまざまな操作のサポートを提供するため、このタスクには推奨される選択肢です。
以上がPython でリストを効率的にローテーションするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。