繁体   English   中英

如何在python中打印子矩阵?

[英]How to print sub matrix in 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()以反向格式返回它? 即: [15,11,7][16,15,14]

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

>>> [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索引,因此范围说明符中的第二个限制比切片中的最后一个索引高一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM