如何从列表中创建矩阵?

时间:2016-08-21 19:12:57

标签: python matrix

我得到一个列表,它以某种方式表示一个矩阵,但它是列表格式,如

["OOX","XOX","XOX"]

有什么办法可以把它转换成矩阵吗? 我经历过numpy,但想不通!

2 个答案:

答案 0 :(得分:1)

numpy对此有点矫枉过正了。对于像Tic-tac-toe这样的东西,列表就足够了。

如果'OOX'是字符串,那么list('OOX')就是列表['O','O','O']

您可以将list与列表理解相结合:

类似的东西:

>>> rows =  ["OOX","XOX","XOX"]
>>> board = [list(row) for row in rows]
>>> board
[['O', 'O', 'X'], ['X', 'O', 'X'], ['X', 'O', 'X']]

用过:

>>> board[0][2]
'X' (3rd entry in first row).

请注意,列表是可变的,因此可以更改元素以及读取:

board[0][2] = 'O'会将该位置的'X'更改为'O'

答案 1 :(得分:0)

这很简单:




 在[4]中:a = [“OOX”,“XOX”,“XOX”]
 
在[5]中:m = np.array([* map(list,a)])

在[6]中:m
 Out [6]:&#xA ; array([['O','O','X'],
 ['X','O','X'],
 ['X','O',' X']],
 dtype ='< U1')