reversed() シーケンスの反転
最終更新:2026-09-22
reversed() シーケンスの反転
reversed(seq) は逆方向イテレータを返す。list、tuple、str、range など __reversed__ を実装した、またはシーケンスプロトコルをサポートするオブジェクトに使用できる。
| カテゴリ | 組み込み関数 |
|---|---|
| 種類 | 組み込み関数 |
| Python バージョン | all |
📝 構文
reversed(sequence)
⚙️ 引数
| sequence 必須 | A sequence (list/tuple/str/range, etc.) or an object implementing __reversed__. |
|---|
戻り値:A reverse iterator usable with list() or a for-loop.
💥 例外
TypeError— Raised when the object is not a sequence and has no __reversed__.
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
[3, 2, 1]
o l l e h
🏷️ 関連する組み込み関数
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qreversed() は何を返しますか?
A逆方向のイテレータを返します。list(reversed([1, 2, 3])) として初めて [3, 2, 1] が得られ、それ自体はリストではありません。
Qreversed() と lst[::-1] の違いは?
Alst[::-1] は新しい完全なリストを返します(データをコピーし O(n) のメモリ)。reversed(lst) はデータをコピーしない遅延イテレータで、末尾から先頭へ一度だけ走査する用途に適しています。
Qreversed({1, 2, 3}) が TypeError になるのはなぜ?
A集合には順序がなく「反転」という概念がないためです。reversed() はシーケンス(list/tuple/str/range)、または __reversed__ を実装したオブジェクトのみに対応します。
Qreversed() と sorted(lst, reverse=True) は同じ?
A違います。reversed は並べ替えず「元の順序のまま逆順で出力」します。sorted(reverse=True) は「値の大きさ順で降順に並べ替え」ます。[3,1,2] に対し前者は [2,1,3]、後者は [3,2,1] になります。