2011-03-18 67 views
8

我对切片很熟悉,我只是无法把头绕在这个上面,我试着改变一些值来试图说明发生了什么,但对我来说没有意义。切片嵌套列表

总之,这里的例子:

l = [[0, 0, 0], [0, 1, 0], [1, 0, 0], [1, 1, 1]] 
print l[:,0:2] 

结果造成:

[[0, 0], [0, 1] [1, 0], [1, 1]] 

我试图把这种称为 “索引0切片0,2,2递增”,这对我没有意义。

+2

是不是缺少一些逗号?我在Python 2.7上得到了这个代码的SyntaxError。 – 2015-10-12 16:58:18

回答

10

你在做什么基本上是多轴切片。因为l是一个二维列表,而您希望切分第二个维度,所以您使用逗号来指示下一个维度。

, 0:2选择第二维的前两个元素。

有一个非常好的解释here。我记得当我第一次得知它时,它很好地阐明了事情。