← クエスト一覧

クエスト55:dequeでキューを使おう

スライド 1 / 6
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 55 / 85

クエスト55:dequeでキューを使おう

発展 +10 XP
🏠
今回の課題
deque でキューを作り、1, 2, 3 を追加して、先に入れた順(1→2→3)に取り出して表示しよう。
📖 解説を見る
🎫 キュー(deque)って何?

「先入れ先出し(FIFO)」のデータ構造です。先に入れたものから順に取り出されます。行列(レジの順番待ち)と同じ考え方です。

✏️ 書き方:
from collections import deque
queue = deque()
queue.append(x)
 ← 後ろに追加
queue.popleft() ← 先頭から取り出す

📋 作るもの:
deque() でキューを作る(import は書いてあるよ)
1 → 2 → 3 の順で後ろに追加する
・中身が無くなるまでくり返して、先頭から1つずつ取り出す
・取り出すたびに表示する。先入れ先出しなので 1 → 2 → 3 の順になる(Q74 のスタックと逆)

💡 どこで使う?

「入ってきた順に処理したい」場面で使います。印刷の待ち行列、順番待ちのタスク処理、幅優先探索(BFS)など。リストの先頭削除は遅いのですが、deque は両端の出し入れが速いのが利点です。

⚠️ ポイント:
append() で後ろに追加、popleft() で先頭から取り出す
・スタック(Q74・LIFO)とは取り出す順が逆
ヒントを見る
deque() でキューを作り、append で後ろに追加、popleft で先頭から取り出すよ。while の条件にキューをそのまま書くと、空になるまでくり返せる。
期待する出力
1
2
3
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: deque を使って ['X', 'Y', 'Z'] を順番(X→Y→Z)に取り出して表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
X Y Z
未挑戦

問題 2: deque(maxlen=3) に 1, 2, 3, 4 を追加して内容をリストで表示しよう!(古いものが自動で消える)

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
[2, 3, 4]
未挑戦

問題 3: deque で 'racecar' が回文か判定して True を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
True
コピーしました!