私はPythonに少し慣れていないので、andを指定して1Dリストを2Dリストに変換したいとwidth
思いlength
ますmatrix
。
を持っていて、このリストのマトリックスlist=[0,1,2,3]
を作成したいとします。2 by 2
どうすればmatrix [[0,1],[2,3]]
width
=2、length
= 2を取得できlist
ますか?
そのようなことを試してください:
In [53]: l = [0,1,2,3]
In [54]: def to_matrix(l, n):
...: return [l[i:i+n] for i in xrange(0, len(l), n)]
In [55]: to_matrix(l,2)
Out[55]: [[0, 1], [2, 3]]
リストのリストではなく、行列/配列を操作するために特別に作成されたnumpyを使用する必要があると思います。これは次のようになります。
>>> import numpy as np
>>> list_ = [0,1,2,3]
>>> a = np.array(list_).reshape(2,2)
>>> a
array([[0, 1],
[2, 3]])
>>> a.shape
(2, 2)
list
組み込みの名前を隠すため 、変数の呼び出しは避けてください。