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

时间:2010-01-28 04:27:14

标签: python

我如何申报?我正在考虑以下几点:

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

5 个答案:

答案 0 :(得分:5)

我假设有2d矩阵?这样的事情应该有效。

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"]]

答案 1 :(得分:3)

除了给出的答案之外 - 如果你需要在Python中使用2D(或更高维度)数组,为此目的的一个非常好的库是Numpy - http://numpy.scipy.org/

其中,它允许您以特定时刻适合您的任何逻辑形式轻松“重塑”数组(例如,可以将6个值的列表视为以下任何数组 - 1x6,2x3,3x2, ...)。

此代码的输出 -

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']]

可能不适合您的特定用例,但可以作为其他用户的参考。

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:0)

就这样做。

[["A","O","A","O","A"],[...],[...],[...],[...]]

答案 4 :(得分:0)

创建一个5x5的零矩阵

ls = [[0]*5]*5
print(ls)

Output:
[[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]]

类似地是字符串类型值矩阵

ls = [['A','O','A','A','A']]*5
print(ls)

Output: 
[['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']]