power = [tuple(row[i] for row in matrix) for i in range(3)] power 解説して

この内包表記は、与えられた2次元リスト matrix から列ごとのタプルを取得しています。

内包表記の構造は以下のようになっています:

python
[tuple(row[i] for row in matrix) for i in range(3)]

これを分解して解説します:

  1. for i in range(3):

    • range(3)0 から 2 までの整数を生成します。これは matrix の列の数に対応しています。
    • i は各列のインデックスを表します。
  2. row[i] for row in matrix:

    • rowmatrix の各行を表します。
    • row[i] は各行のインデックス i の要素を取得します。
    • 内側のジェネレータ式によって、matrix の各行の i 番目の要素が一つのタプルにまとめられます。
  3. [tuple(内側の式) for i in range(3)]:

    • 外側のリスト内包表記によって、各列ごとのタプルがリストとしてまとめられます。
    • tuple() は、与えられた要素をタプルに変換します。

最終的に、power には matrix の列ごとのタプルが含まれるリストが代入されます。

例えば、matrix が以下のようなリストであれば:

python
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]

power は次のようになります:

python
power = [ (1, 4, 7), (2, 5, 8), (3, 6, 9) ]

このように、power には matrix の列ごとのタプルが含まれたリストが作成されます。

未分類

Posted by ぼっち