【Python入門】Pythonのdeque.rotate関数とは?使い方と活用方法を徹底解説(Python 3.11)

Python

はじめに

Pythonは多機能で使いやすいプログラミング言語として人気があります。その中でも、効率的なデータ処理を可能にするdeque(デック)ライブラリは知っておくと便利なモジュールの一つです。今回は、collectionsモジュールのdequeに含まれるrotate関数に焦点を当て、その使い方と活用方法を初心者向けに詳しく解説します。

deque.rotate関数とは?

deque.rotate関数は、両端キューの要素を回転移動させる関数です。リストに似た構造を持ちながら、データの挿入・削除が高速に行える特徴があります。回転方向や回転数を指定することで、効率的にデータを並べ替えることが可能です。

deque.rotate関数の基本構文

from collections import deque

# 構文
deque_obj.rotate(n)

引数の説明

  • n: 回転させる要素の数。正の整数で右回転、負の整数で左回転します。

deque.rotate関数の使用例

from collections import deque

# デックの初期化
d = deque([1, 2, 3, 4, 5])

# 右に2回転
d.rotate(2)
print("右回転後:", d)

# 左に3回転
d.rotate(-3)
print("左回転後:", d)

出力結果

右回転後: deque([4, 5, 1, 2, 3])
左回転後: deque([2, 3, 4, 5, 1])

deque.rotate関数の応用例

キューの循環処理

タスク処理の際に、次の処理対象を順番に回転させて決める場合に使えます。

from collections import deque

tasks = deque(["task1", "task2", "task3", "task4"])

# タスクを順番に回転させながら処理
for _ in range(6):
    current_task = tasks[0]
    print("処理中:", current_task)
    tasks.rotate(-1)

出力結果

処理中: task1
処理中: task2
処理中: task3
処理中: task4
処理中: task1
処理中: task2

まとめ

Pythonのdeque.rotate関数は、データの並べ替えや循環処理に役立つ便利な関数です。特に、キューを使ったタスク処理やゲームの順番決めなど、実用的な用途が多くあります。Pythonで効率的なデータ操作を行いたい場合は、ぜひdequeモジュールの活用を検討してみてください。