Python 模擬試験

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

条件付きの二重ループ

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

print([(i, j) for i in range(2) for j in range(2) if i != j])
  1. A

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

  2. B

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

  3. C

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

  4. D

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

正解と解説を見る

正解:D

内包表記の if は、要素を絞り込む。複数の for は、書いた順に外側から内側のループになる。

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

学習のポイント:直積は itertools.product でも作れる。

この問題を演習で解く →

問題一覧へ

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