[英]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.