如何在Python中声明一个5x5数字网格?

1 投票
5 回答
12302 浏览
提问于 2025-04-15 18:34

我该怎么声明这个呢?我在想可以这样做:

boardPieces = ["A","O","A"
               "A", "A", "O"
              ]

5 个回答

2
[[0] * 5 for x in range(5)]

或者

[[0 for x in range(5)] for y in range(5)]

第一个只适用于不可变类型,而第二个可以用于任何类型。

4

除了已经给出的答案,如果你需要在Python中处理二维(或更高维度)的数组,一个非常好的库就是Numpy - 链接.

这个库可以让你很方便地“改变”数组的形状,随时调整成你需要的样子(比如,一个包含6个值的列表可以被看作以下几种数组形式 - 1行6列、2行3列、3行2列,等等)。

这段代码的输出是 -

import numpy

boardPieces = numpy.array( [ "A", "O", "A", "A", "A", "O" ], numpy.character )
boardPieces = boardPieces.reshape( [ 2, 3 ] )
print boardPieces
boardPieces = boardPieces.reshape( [ 3, 2 ] )
print boardPieces

结果将是 -

[['A' 'O' 'A']
 ['A' 'A' 'O']]
[['A' 'O']
 ['A' 'A']
 ['A' 'O']]

虽然这可能不适合你的具体需求,但可以作为其他人的参考。

5

我在想你是在说一个二维矩阵吧?像这样的代码应该可以用。

boardPieces = [["A","O","A","A", "A"],["A","O","A","A", "A"],["A","O","A","A", "A"],["A","O","A","A", "A"],["A","O","A","A", "A"]]

撰写回答