ホームページ > バックエンド開発 > Python チュートリアル > Python でリストを効率的に回転するにはどうすればよいですか?

Python でリストを効率的に回転するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-15 10:07:14
オリジナル
908 人が閲覧しました

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. deque を使用するには、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] で始まります。右に1回転すると[3,1,2]となります。左に回すと元の順序に戻ります。最後に、最初の項目を削除すると、[2, 3] を含む両端キューが作成されます。

deque とそのrotate() メソッドを使用すると、Python で効率的なリストのローテーションを実現できます。

以上がPython でリストを効率的に回転するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート