Python 模擬試験

Python実践 模擬試験 第1回 問6・3章 Pythonの言語仕様(内包表記)

二重ループの内包表記

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

print([(i, j) for i in range(3) for j in range(i)])
  1. A

    [(0, 0), (1, 1), (2, 2)]

  2. B

    [(1, 0), (2, 0), (2, 1)]

  3. C

    [(0, 1), (0, 2), (1, 2)]

  4. D

    [(1, 0), (2, 0), (2, 1), (0, 0)]

正解と解説を見る

正解:B

内包表記の for は、書いた順に外側から内側のループになる。

順実行する行実行後の変数
1`print([(i, j) for i in range(3) for j in rang…`—
結果実際の出力[(1, 0), (2, 0), (2, 1)]

学習のポイント:2 重の内包表記は、読みにくくなるときは通常のループに書き直す。

この問題を演習で解く →

問題一覧へ

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