1 背景
Python里面的内置函数range()函数一般输出为递增序列, 如下面几种情况:
1.1 range实例
for i in range(10):
print(i)
输出为: 0 1 2 3 4 5 6 7 8 9
for i in range(1,10,2):
print(i)
输出为: 1 3 5 7 9
1.2 range语法介绍
range(start,end, step)
start 开始
end 结束
step 间隔
需要注意的是 range() 函数是左闭右开区间。 而遇到要生成递减序列时,容易忘记语法规则,那如何迅速记忆递减序列规则呢
2 实现方式1
如想要输出,5-1之间的数:常用方式,倒序输出
for i in range(5,1,-1):
print(i)
输出为(注意输不出1,左闭右开区间*): 5 4 3 2 但是,由于经常使用递增输出,老是记忆错误,上面这个用法,特别是忘记加-1 可以看到,上面这个方式,虽然能实现,但是不好记忆,特别是容易忘记最后输出的值。
所以笔者喜欢用下面这个,推荐给大家,减轻记忆烦恼
3 速记法-实现方式(推荐)
使用了内置函数,reversed()
for i in reversed(range(5)):
print(i)
输出为: 4 3 2 1 0 笔者感觉使用上面方式实现比较自然 因为range(5)生成0到4 而加了reversed()函数后 自然想到 0到4的反转结果:4到0 就能够很好记忆了,用方式1,有时候会时不时会怀疑自己一下,需要验证,是不是错了。
tips: reversed() 函数多用于反转序列,如字符串和列表等等,比较基础的一个内置函数 注意:reversed()不改变原来数据,返回一个反转的迭代器。
下面有几个简单示例:
|