0
点赞
收藏
分享

微信扫一扫

python中range生成空列表?

Ichjns 2022-03-20 阅读 105
python

使用for循环时往往要搭配range()进行使用。
range( start, stop, step )
生成一个对象,其中包含[start , stop)范围内的数据元素。
且按照step设定的间隔取值,生成最终的数据对象。

今天碰到一个问题:使用for循环逆序打印列表中的数据。
一开始我是这样写的

for i in range(1,10,-1):
	print(i)

可是程序执行后并没有按照预期打印出来。
于是我就将这个range转为list进行打印:

print(list(range(1,10,-1)))

结果也挺出乎意料的:
在这里插入图片描述
没错,结果是一个空列表。
很明显,这根for循环本身没关系,这就是range的问题了。
百思不得其解后,去看了看官方文档,文档中有这么一段描述:
在这里插入图片描述也就是说:
step为正,就会生成[ start , stop )的列表;
step为负,就会生成[ stop , start )的列表;
所以,如果要使用step为负的range,那么必须使stop<start

举报

相关推荐

0 条评论