とりあえず
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だと多次元配列が「た次元配列」になっていらいらした。(笑)