forループを使用しないこのような大きな行列のサブ行列を出力するための短い方法はありますか?Pythonでサブマトリックスを印刷するには?
matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
sub1 = matrix[1:2][1:2]
>>>desired answer: [[6,7][10,11]]
1 2 3 4
5 *6 7* 8
9 *10 11* 12
13 14 15 16
sub2 = matrix[2][1:3]
>>>desired answer: [[7,11,15]]
1 2 3 4
5 6 *7* 8
9 10 *11* 12
13 14 *15* 16
余分:後者の例では、reverse()を使用せずにリバース形式で戻す方法は?すなわち:[15,11,7]
または[16,15,14]
、
彼はnumpyタグを付け加えました。私はnumpy配列だけを(私が述べたように)考えます。とにかくありがとう! – sascha
@saschaああ、興味深い点 - これは、それらが貧弱な行列またはリストのリストであると思われるかどうかはわからない。 –
numpy-array(あなたがタグ付けしたと仮定):sub1 = matrix [1:3,1:3](ブラケッティング!)を実行すると、あなたはnumpy(包括的、排他的)で模倣されたpythonのスライススタイルについて知っていますか?実施例2:マトリックス[1:4,2]。 (ブラケッティング!)リストのリスト(numpyなし)については、Tomの答えを見てください! (間違いがあって編集時間が終わったのでこのコメントを読みました) – sascha