Python教程

python中range生成空列表?

本文主要是介绍python中range生成空列表?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用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

这篇关于python中range生成空列表?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!