Py学习  »  Python

python切片的奇怪行为

user3105173 • 5 年前 • 1485 次点击  

假设我们有这个清单:

>>> a = [x for x in range(10)]
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

另外,两种方法都可以按预期分割工作:

>>> a[3:8]
[3, 4, 5, 6, 7]

>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

但是,如果结合起来:

>>> a[3:8:-1]
[]

我希望是 [7, 6, 5 ,4, 3] 或者也许 [6, 5, 4, 3, 2] (如果先倒车)。 考虑一下当 start stop 未传递参数:

>>> a[:5:-1]
[9, 8, 7, 6]

这几乎是我所期望的,只差一项。测试了这个 numpy 它的行为似乎也一样。

这是怎么回事?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50763
 
1485 次点击  
文章 [ 3 ]  |  最新文章 5 年前