np.matrix
有一個字符串輸入法,旨在模仿MATLAB風格:
In [1269]: alist = ['12,-1', '0.01,3']
In [1270]: np.matrix(';'.join(alist))
Out[1270]:
matrix([[ 1.20000000e+01, -1.00000000e+00],
[ 1.00000000e-02, 3.00000000e+00]])
In [1271]: _.A
Out[1271]:
array([[ 1.20000000e+01, -1.00000000e+00],
[ 1.00000000e-02, 3.00000000e+00]])
這是一個方便。我認爲解析涉及到類似於你所做的事情 - 幾個級別的分割。
做我們自己的分裂:
In [1273]: np.array([line.split(',') for line in alist])
Out[1273]:
array([['12', '-1'],
['0.01', '3']],
dtype='<U4')
如果我們指定dtype
,np.array
將轉換爲字符串彩車我們:
In [1274]: np.array([line.split(',') for line in alist],float)
Out[1274]:
array([[ 1.20000000e+01, -1.00000000e+00],
[ 1.00000000e-02, 3.00000000e+00]])
列表內涵創建一個列表的列表:
In [1275]: [line.split(',') for line in alist]
Out[1275]: [['12', '-1'], ['0.01', '3']]