Python3エンジニア認定基礎試験 用語解説
リスト内包表記とは
括弧の中に式、for 句、0個以上の for 句か if 句を書いてリストを作る書き方。for ループを1行で書ける簡潔な手段で、[x**2 for x in range(10)] のように書く。式がタプルのときは丸括弧が必要である。
この記事の目次
まず押さえる結論
リスト内包表記は、Python3エンジニア認定基礎試験の「第5章 データ構造」で確認しておきたい用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。
情報源と編集区分
公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。
試験概要(公式)試験での問われ方
定義の言い換え
用語そのものではなく、説明文の一部を言い換えて出されることがあります。
似た概念との比較
同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。
具体例からの判断
問題文の事例が、定義のどの部分に対応しているかを先に確認します。
誤答しやすいポイント
×append と extend の違い。append は渡した値を1個の要素として足し、extend は要素を1つずつ足す。
×リストとタプルの可変・不変。リストは後から変えられ、タプルは変えられない。スライスはどちらでも使える。
×辞書のキー取得で角かっこと get の違い。キーが無いとき角かっこは例外になり、get は既定値を返す。
関連する確認問題
第5章 データ構造 / 内包表記
既存のリストから条件に合う要素だけを取り出して新しいリストを作る書き方として、公式チュートリアルが紹介しているものはどれか。
正解は「リスト内包表記」である。公式チュートリアルはリスト内包表記を、既存の並びから要素を取り出して新しいリストを作る簡潔な書き方として紹介している。条件を付ければ条件に合う要素だけを残せる。list.filter や list.select というメソッドはリストには無い。加算演算子はリストを連結する演算子で、要素を選び出す用途ではない。内包表記は角括弧の中に式と for 節を書き、必要に応じて if 節で条件を加える形で書く。for 文で1つずつ要素を取り出しながら新しいリストへ追加していく処理を、1行にまとめて簡潔に書けるのが特徴である。既存の要素をそのまま選び出すだけでなく、式の部分を変えることで要素を変形しながら新しいリストを作ることもでき、絞り込みと変形を同じ書き方の枠組みで行える。
第5章 データ構造 / 内包表記
matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] に対して [[row[i] for row in matrix] for i in range(4)] を実行すると、matrixに対してどのような結果が得られるか。
正解は「matrixの行と列を入れ替えた [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]」である。公式チュートリアル5.1.4はこの式をmatrixの行と列を入れ替える(転置する)例として示しており、list(zip(*matrix))でも同じ結果が得られると説明している。同節は、この式が外側のforでiをrange(4)にわたって回し、内側のfor row in matrixでrow[i](i列目の値)を集めるという2重のリスト内包表記であり、for文を使った通常のループと等価だと述べている。
同じ章で確認したい用語
到達チェック
- リスト内包表記を一文で説明できる
- 同じ章の似た用語と違いを説明できる
- 問題文の具体例から、リスト内包表記に関係する論点を拾える
- 関連問題を解き、誤答した選択肢の理由を確認できる
執筆: ミナト編集部(運営者情報を見る)