本記事を読む前にpythonチュートリアルをご参照ください。
上記は5.1.4. ネストしたリストの内包表記についてまとめられています。
python3エンジニア認定基礎試験の模擬サイトにこのような問題が出題されました。
19問目
次の実行結果を得たい場合に、コードの【A】に入るものとして正しいものはどれか。
[実行結果]
[5, 25, 125]
[コード]
matrix = 【A】
power = [row[2] for row in matrix]
print(power)
まずは全体的な特徴を理解しましょう。
リストとは[]のこと。これらに数値を入れて、カンマで区切ります。
ここでイメージすることは、3×3の表です
row[2]っていうのは、リストでイメージした表の列を0,1,2としていると考えましょう。つまり、正解例は
正答: [[2, 3, 5], [4, 9, 25], [8, 27, 125]]
である。まとめると
matrix = [[2, 3, 5], [4, 9, 25], [8, 27, 125]]
power = [row[2] for row in matrix]
print(power)
もし仮に
[row[1] for row in matrix]
だったら真ん中の数が出てくる。
この問題の考え方は、リストの表の3列目が5,25,125となるのはどれかというものだ。このポイントを抑えればこの問題はすんなり解ける。