Python中是否有任何简短的方式来打印一个更大的矩阵像这样的子矩阵不使用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
extra:对于后面的例子,如何以不使用reverse()的反向格式返回它?即:[15,11,7]
或[16,15,14]
,
他添加了numpy标签,我只考虑numpy数组(正如我所提到的)。不过谢谢! – sascha
@sascha哦,有趣的一点 - 我想这不是清楚这些应该是numpy矩阵还是列表清单。 –
假设numpy数组(你标记了它):如果你想做sub1 = matrix [1:3,1:3](包围!),你会达到你想要的答案!你知道Python的切片风格模仿numpy(包括,独家)吗?例2:矩阵[1:4,2]。 (包围!)对于列表(没有numpy)列表,看看汤姆的答案! (由于错误和编辑时间已经结束,因此修改了此评论) – sascha