问题

我需要一个很好的解释(参考是​​一个加号)Python的slice符号.

对我来说,这个符号需要一点点.

它看起来非常强大,但我还没有很好的头脑.



解决方法

真的很简单:

a[start:end] # items start through end-1
a[start:]    # items start through the rest of the array
a[:end]      # items from the beginning through end-1
a[:]         # a copy of the whole array

还有 step 值,可以与上述任何一个一起使用:

a[start:end:step] # start through not past end, by step

要记住的关键是,:end 值表示所选切片中的第一个值不是.因此, end start 之间的差异是所选元素的数量(如果 step 为1,则为默认值).

另一个特征是 start end 可能是一个负数,这意味着它从数组的结尾开始.所以:

a[-1]    # last item in the array
a[-2:]   # last two items in the array
a[:-2]   # everything except the last two items

对于程序员来说,如果有比你所要求的更少的项目,Python是很好的.例如,如果你要求 a [: - 2] a 只包含一个元素,你会得到一个空列表而不是错误.有时候你会偏好错误,所以你必须知道这可能发生.




相关问题推荐