+9 投票
分类:Python编程与实践 | 用户: (390 分)

如何在二维列表中截取任意个长度任意的元素?

如:

map=[[0,3,2,5,6],
     [5,7,5,5,1],
     [4,5,6,2,1],
     [2,6,4,1,2],
     [9,8,7,13,8]]

如何截取中部的[[7,5,5],[5,6,2],[6,4,1]]?

1个回答

+1 投票
用户: (5.3k 分)

可以用列表生成式:

[map[i][1:4] for i in range(1, 4)]

或者使用numpy包来操作(NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。)

mp = np.array([[0,3,2,5,6],
     [5,7,5,5,1],
     [4,5,6,2,1],
     [2,6,4,1,2],
     [9,8,7,13,8]])
mp[1:4, 1:4]

(此外,map是Python的一个内置函数,最好不要用map来作为变量名)

欢迎来到 爱可可Q&A ,有什么问题可以尽管在这里提问,你将会收到其他成员的热心回答。
...