How to create an array with its first list being ['0','1','2',…] etc up to 8? (as strings, not integers)
本问题已经有最佳答案,请猛点这里访问。
做一个寻宝游戏和棋盘,我想沿着顶部和侧面的数字作为一个网格的坐标,顶部的一行将是数字0-8在一个列表中。这是我的代码:
1 2 3 4 5 | board=[] board.append([]) for i in range(9): i2=str(i) board[i].append(i2) |
但是当我运行它时,我会得到错误:
1 | board[i].append(i2) |
号
索引错误:列表索引超出范围
使用列表理解,
1 | board = [[str(i) for i in range(9)]] |
当您试图输入到板[1]时(当循环第二次进行时),由于子列表不存在,python崩溃,用板[0]替换板[I]:
1 2 3 4 5 | board=[] board.append([]) for i in range(9): i2=str(i) board[0].append(i2) |
号