【发布时间】:2011-08-18 03:11:38
【问题描述】:
在下面的例子中:
foo = ['red', 'white', 'blue', 1, 2, 3]
其中:foo[0:6:1] 将打印 foo 中的所有元素。但是,foo[6:0:-1] 将省略第 1 个或第 0 个元素。
>>> foo[6:0:-1]
[3, 2, 1, 'blue', 'white']
我知道我可以使用 foo.reverse() 或 foo[::-1] 反向打印列表,但我试图理解为什么 foo[6:0:-1] 不打印整个列表?
【问题讨论】:
-
还要注意
foo[7:None:-1]的可能性:) -
在尝试理解切片表示法之前我从未使用过 python,我的问题是为什么 foo[6:0:-1] 没有抛出索引错误,python 不在乎吗?因为 6 索引在上面的示例数组中不可用。
-
@MubasharAhmad Slicing 没有索引,并且在超出范围时不会抛出任何错误。但是,索引在超出范围时确实会引发异常。