如何用python打印子矩阵?

2024-09-29 04:20:11 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,有没有一种不使用for循环打印更大矩阵的子矩阵的捷径?在

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()以reverse格式返回它?即:[15,11,7]或{}


Tags: answerfor格式矩阵extramatrix例子reverse
1条回答
网友
1楼 · 发布于 2024-09-29 04:20:11

对于列表列表,您可以这样获得所需的结果:

>>> [s[1:3] for s in matrix[1:3]]
[[6, 7], [10, 11]]
>>>
>>> [s[2:3] for s in matrix[1:4]]
[[7], [11], [15]]
>>> 

请注意,后者是一个垂直切片,因此每个元素都包装在自己的列表中。还要注意,这是Python索引,因此范围说明符中的第二个限制比切片中的最后一个索引高一个。在

相关问题 更多 >