rank vote url
29 569 323 918 url

理解Python切片

对于Python的切片有什么好的资料吗?对我来说理解切片有点难度.它看起来非常有用,但是我还是不能理解它,我正在找有什么好的资料.


非常简单:

  1. a[start:end] # 从start开始到end-1结束
  2. a[start:] # 从start开始直到末尾
  3. a[:end] # 从头部开始直到end结束
  4. a[:] # 复制整个列表

这里还有一个step值,可以用在上面素有例子的后面:

  1. a[start:end:step] # 按照step步长直到end-1结束,并不是从start一个个遍历到end

重点需要记住的是::end值代表的是不被选中的第一个位置.所以endstart区别在于选中的元素(如果step默认为1)

另一点要说的是start或者end可能是个负数,也就是从尾部而不是从头部开始计数.所以:

  1. a[-1] # 列表最后一个元素
  2. a[-2:] # 列表最后两个元素
  3. a[:-2] # 除了最后两个元素剩下的部分

如果你调用的元素多于列表中含有的元素个数,Python也会很友好的表示.例如,如果你请求a[:-2]a只含有一个元素,你得到的是一个空列表而不是一个错误信息.有些时候你可能更希望得到这个错误信息,所以你得意识到上面的事可能发生.