ホームページ >バックエンド開発 >Python チュートリアル >Python の「collections.deque」はどのようにしてリストのローテーションを最適化できるのでしょうか?

Python の「collections.deque」はどのようにしてリストのローテーションを最適化できるのでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-16 22:39:13911ブラウズ

How Can Python's `collections.deque` Optimize List Rotation?

Python での効率的なリストの回転: 代替アプローチ

提供された Python コードは、リストのセクションをスライスして結合することにより、リストを効率的に回転します。ただし、collections.deque.

deque の Rotate メソッドを使用する、より最適化されたソリューションが存在します。

deque は、両端で効率的に挿入および削除できるように設計されたデータ構造です。要素を回転するための専用のrotate()メソッドを提供します。このアプローチは、大きなリストの場合に特に有利です。

from collections import deque

items = deque([1, 2])
items.append(3)        # deque == [1, 2, 3]
items.rotate(1)        # deque == [3, 1, 2]
items.rotate(-1)       # Returns deque to original state: [1, 2, 3]
item = items.popleft() # deque == [2, 3]

上の例では:

  • 項目は、append() を使用して両端キューに追加されます。
  • rotate (1) デクを 1 位置右 (時計回り) に回転します。
  • rotate(-1) は回転します。
  • popleft() は、rotate() と同様に、左端から要素を効率的に削除します。

以上がPython の「collections.deque」はどのようにしてリストのローテーションを最適化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。