1. Învăţa
  2. /
  3. Courses
  4. /
  5. Python ツールボックス

Connected

exercise

ネストしたリスト内包表記

すばらしいです! ここまでで、リスト内包表記の基本的な構文はしっかり理解できましたね。ここからはもう一歩スキルを伸ばしましょう。この演習では、あるリスト内包表記の中にもう一つリスト内包表記を書く、つまりネストしたリスト内包表記を作成します。少し難しそうに聞こえますが、きっとできます!

ここでは文字列から少し離れて考えてみます。リストの使い道の一つに、行列(matrix)のような多次元のオブジェクトを表現する方法があります。Python では、行列はリストのリストで表せます。たとえば、各行に 0 から 4 の値が入った 5 x 5 の行列は次のように書けます。

matrix = [[0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4]]

あなたのタスクは、この行列をネストしたリスト内包表記を使って再現することです。行の一つは、単一のリスト内包表記で作れることを思い出してください。リストのリストを作るには、そのリスト内包表記を全体のリスト内包表記の出力式として渡せばよいのです。

[ [出力式] for 反復変数 in イテラブル ]

ここでの出力式自体がリスト内包表記になっている点に注意してください。

Instrucţiuni

100 XP
  • 内側のリスト内包表記、つまりネストしたリスト内包表記の出力式では、range() を使って 0 から 4 の値のリストを作成します。反復変数は col を使ってください。
  • ネストしたリスト内包表記のイテラブル部分では、range() を使って 5 行を数える、つまり 0 から 4 の値のリストを作成します。反復変数は row を使ってください。なお、この変数はリストのリスト内の値の作成には使用しません。