2

行列を転置する関数を定義しようとしています。これは私のコードです:

def Transpose (A):
    B = list(zip(*A))
    return B

このように、プログラムのどこかで関数を呼び出すと、次のようになります。

Matrix = [[1,2,3],[4,5,6],[7,8,9]]
Transpose(Matrix)
print(Matrix)

マトリックスは変更されずに出てきます。私は何が間違っているのですか?

4

1 に答える 1

7

関数は、行列に影響を与えない(zipパラメーターを変更しない)新しい値を返します。あなたは何も悪いことをしていません、それは物事を行う正しい方法です。次のように変更するだけです。

print(Transpose(Matrix))

また

Matrix = Transpose(Matrix)

注:関数と変数には、実際には小文字の名前を使用する必要があります。

于 2012-05-05T13:18:30.750 に答える