重複の可能性:
Python リストの予期しない機能
9 x 11 の 0 で満たされた行列があります。各行の最初の要素と各列の最初の要素のスコアを前のものより -2 少なくしたいので、次のようにします。
[[0, -2, -4], [-2, 0, 0], [-4, 0, 0]]
このために、次のコードを使用します。
# make a matrix of length seq1_len by seq2_len filled with 0's\
x_row = [0]*(seq1_len+1)
matrix = [x_row]*(seq2_len+1)
# all 0's is okay for local and semi-local, but global needs 0, -2, -4 etc at first elmenents
# because of number problems need to make a new matrix
if align_type == 'global':
for column in enumerate(matrix):
print column[0]*-2
matrix[column[0]][0] = column[0]*-2
for i in matrix:
print i
結果:
0
-2
-4
-6
-8
-10
-12
-14
-16
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[-16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
column[0]*-2 の最後の値をすべての行に与えるのはなぜですか?