首页 > 编程语言 > 详细

python学习随笔-切片

时间:2017-02-17 10:15:46      阅读:229      评论:0      收藏:0      [点我收藏+]

Python中的切片容易混淆,这里总结一下自己的看法

 重点:区间取值规则:左闭右开

1.简单切片(simple_slicing)

      表达式:s[begin : end]  

       s表示任何sequence类型的对象

      begin和end必须是int值或求值后可以得到int值的表达式

    备注:

      a:begin和end都可以被缺省,此时,它们的默认值分别是0和sys.maxint
      b:begin和end的值可以超过序列的实际长度,如s = [1, 2, 3]; s[0 : 8]也是合法的
      c:begin和end均可以为负值

2.扩展切片(extended_slicing)

      表达式: s[begin : end : stride]

      stride:  表示方向和步数,“+”表示从左向右走,“-”表示从右向左走

3.示例

>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[5:0:-1] ## -1表示从右向左,从第5个开始向左数到第0个,但不包括第0个
[5, 4, 3, 2, 1]
>>> numbers[5:4:-1] ##-1表示从右向左从第5个开始向左数到第4个,但不包括第4个
[5]
>>> numbers[:3:-1] ##等价于s[9:3:-1]
[9, 8, 7, 6, 5, 4]
>>> numbers[0:3:-1] ##-1表示从右向左,从第0个向左数,所以为空
[]
>>> numbers[9::-1] ##等价于s[9:0:-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> numbers[::2] ##等价于s[0:9:2]
[0, 2, 4, 6, 8]
  

 

python学习随笔-切片

原文:http://www.cnblogs.com/whitemouse/p/6408393.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!