とりあえず
table = [[''] * number] * number for table_i in range(number): for table_j in range(number): print table_i,' : ',table_j if table_i == table_j: table[table_i][table_j] = '-' else: table[table_i][table_j] = {'result':'','score':''}ってすれば初期化できるみたいなのでやってみたところ...
[[{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-'], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-'], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-'], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-'], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-']]...なんか思ってるのと違くね?まあいいか、次は試合結果の代入だ。
[[{'result': 'l', 'score': '1-2'}, {'result': 'w', 'score': '2-1'}, {'result': 'd', 'score': '1-1'}, {'result': 'd', 'score': '1-1'}, '-'], [{'result': 'l', 'score': '1-2'}, {'result': 'w', 'score': '2-1'}, {'result': 'd', 'score': '1-1'}, {'result': 'd', 'score': '1-1'}, '-'], [{'result': 'l', 'score': '1-2'}, {'result': 'w', 'score': '2-1'}, {'result': 'd', 'score': '1-1'}, {'result': 'd', 'score': '1-1'}, '-'], [{'result': 'l', 'score': '1-2'}, {'result': 'w', 'score': '2-1'}, {'result': 'd', 'score': '1-1'}, {'result': 'd', 'score': '1-1'}, '-'], [{'result': 'l', 'score': '1-2'}, {'result': 'w', 'score': '2-1'}, {'result': 'd', 'score': '1-1'}, {'result': 'd', 'score': '1-1'}, '-']]はい!全然ダメ!どうしたもんか..と調べてると「掛け算だと配列同士に参照関係が作られてしまうので、思った通りのた次元配列にはならない」ということを発見した。同時に「内包表記で定義すると幸せになれる」とも書いてある。やってみよう!
初期化:
[['-', {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}], [{'result': '', 'score': ''}, '-', {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, '-', {'result': '', 'score': ''}, {'result': '', 'score': ''}], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-', {'result': '', 'score': ''}], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-']]試合結果代入後:
[['-', {'result': 'w', 'score': '2-1'}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}], [{'result': 'l', 'score': '1-2'}, '-', {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, '-', {'result': '', 'score': ''}, {'result': '', 'score': ''}], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-', {'result': '', 'score': ''}], [{'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, {'result': '', 'score': ''}, '-']]上手く行ったぜ!これで一安心。 余談ですがこのPCだと多次元配列が「た次元配列」になっていらいらした。(笑)