Python 模擬試験

Python基礎 模擬試験 第2回 問20・5章 データ構造(リスト内包表記)

入れ子のリスト内包表記

次のコードを実行したときの出力として、正しいものを1つ選べ。

matrix = [[1, 2, 3], [4, 5, 6]]
print([[row[i] for row in matrix] for i in range(3)])
  1. A

    [[1, 2, 3], [4, 5, 6]]

  2. B

    [1, 4, 2, 5, 3, 6]

  3. C

    [[1, 4], [2, 5], [3, 6]]

  4. D

    IndexError が発生する。

正解と解説を見る

正解:C

入れ子のリスト内包表記で、行と列を入れ替える(転置する)ことができる。

順実行する行実行後の変数
1`matrix = [[1, 2, 3], [4, 5, 6]]`matrix = [[1, 2, 3], [4, 5, 6]]
2`print([[row[i] for row in matrix] for i in ra…`matrix = [[1, 2, 3], [4, 5, 6]]
結果実際の出力[[1, 4], [2, 5], [3, 6]]

学習のポイント:組み込み関数 zip(*matrix) でも転置できることを押さえる。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。