range函数python 倒序_python 中倒序切片

55741fa3000130b206400640-100-100.jpg

清波

楼主问的是列表,及Python中所有可迭代类型类型的 切片问题, 由于我电脑上装的是Python 3.x, 在 range() 这个内建函数上和泪珠的2.x 有些许差别:2.x: range(start : stop : step) 生成 一个 从start开始(包含start)到stop结束(不包含stop),步长为 step 的列表(下称:list类型)3.x range(start : stop : step) 生成一个 序列生成器(range 类型),在这里,range自成一种类型了, 不过 start, stop, step 的意义是一样的。以上是两个版本Python的区别,扯开一句,Python 3.x 和2.x 的不兼容在前几年3.x 刚推出是 短时间内看对Python语言是一种伤害, 一种分裂。 但是站在2016的开端来看,各种常用的库都已经支持了3.x, 且3.x版本比2.x 版本在 各个方面都高级和合理了很多,所以建议初学者都从3.x 开始学习Python.  range 的在3.x的改进就能看出: 在2.x 中产生一个list , 而3.x 中产生的是一个 生成器,在内存优化上更高一层。 好了扯远了, 写这些主要是为了说明  用3.x 演示代码和2.x 的区别: 在3.x 中 如果想保证 开头声明的L 是list ,如下:L = list(range(1,101))我们具体解释下 range(start : stop : step) 中三个暂称为 参数的作用和用法,以及一些小技巧:1, start: 如上所说, 为列表(3.x 为 range 类型)的开始, 切片或者声明时 可以省略,省略默认 start为0。2, stop:  列表的结束(不包含), 切片时可以省略,省略默认为列表的最后。3, step: 为步长,即 列表中元素之间的差, 切片或者声明时 可以省略, 默认为1。下面就range函数的各种省略的组合用代码 一一说明:>>> list(range(3)) ## 声明时 省略 start 和 step

[0, 1, 2]

>>> list(range(1,3)) ## 声明时 省略 step

[1, 2]

>>> list(range(1,11,2))  ## 步长为2

[1, 3, 5, 7, 9]

>>> list(range(11,1,-2)) ## 步长为负数

[11, 9, 7, 5, 3] 列表切片的start  stop  step 和 range函数 差不多:>>> L= list(range(1,21))  ##声明 列表 L

>>> print (L)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

>>> print(L[2:6]) ## 省略 step (步长), step默认为1

[3, 4, 5, 6]

>>> print(L[2:10:2]) ## 显式声明 step 为2

[3, 5, 7, 9]

>>> print(L[10:2:-2])  ## 显式声明 step 为 -2

[11, 9, 7, 5]

>>> print(L[:19]) ## 省略 start, start 默认为0; 省略步长 step, 默认为1

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>> print(L[0::1]) ## 省略 stop , 默认到列表的结尾。

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]应该还有更多的写法,  3个位置: start, stop, step ; 且它们均可以为 正数 或负数。 题主可以自己试试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值