次のコードを使用して、Python で空の行列 (リストのリスト) の対角線を作成しようとしています。
source=['a','b','c']
rows=[]
for x in source:
rows.append('')
matrix=[]
for x in source:
matrix.append(rows)
print "before populating", matrix
for x in range (0, len(source)):
matrix[x][x]=source[x]
print "after populating", matrix
これはこれを達成するための最も効率的な方法ではないことに気付きましたが、実際にはこれが私の問題の中で最も少ないようです.
私が得た出力はこれでした:
[['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']]
しかし、私が望んでいた出力はこれでした:
[['a', '', ''], ['', 'b', ''], ['', '', 'c']]
何がうまくいかなかったのですか?どうもありがとう!