range()函数
Posted guoyuying
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了range()函数相关的知识,希望对你有一定的参考价值。
python range() 函数可创建一个整数列表,一般用在 for 循环中。
range()函数有三个参数,分别是start, stop和step。准确的说range()函数将返回一个从start到stop,步长为step的整数序列的对象。
help(range)
>>> Return an object that produces a sequence of integers from start (inclusive) to stop (exclusive) by step.
range()的类型是一个整数序列对象,而不是列表。如
但是可以用list()函数返回该对象的列表。如
下面的示例中会综合使用到range()及list()。更清楚的讲解range()函数
range的使用可以是单参数,双参数和三参数,下面逐一举例
单参数:
range(10)
返回一个从 0 到 10 的整数序列的对象,默认步长 step = 1
list(range(10))
[0,1,2,3,4,5,6,7,8,9]
单参数中所传参数为stop,默认start = 0, step = 1
双参数:
返回一个从start到stop的整数序列的对象, 默认步长 step = 1
range(2, 10)
返回一个从2到10的整数序列的对象 , 默认步长step = 1
list(range(2, 10))
[2,3,4,5,6,7,8,9]
双参数中第一个参数为start,第二个参数为stop, 默认step = 1
提问:
如果 start > stop会产生一个什么样的整数序列对象?
list(range(10, 2)) = ?
它的结果会是 [10,9,8,7,6,5,4,3]吗?
三参数:
返回一个从start到stop的整数序列的对象, step 为第三个参数的值
range(2, 10, 2)
list(range(2, 10, 2))
[2,4,6,8]
三参数中加入了步长step,我们因此可以自己设定每个元素的间距,所以range(2, 10, 2)可以很好的解释为
从 整数 2 开始 ,每2个整数取一位放到整数列表中,到整数10结束(不包括整数10)
好了,现在可以回答双参数中留的问题了,
range(10, 2),由于step默认为 1 ,故可以解释为
从整数 10 开始, 每 1 个整数取一位放到整数列表中, 到整数2结束(不包括整数2)
很显然,从10开始,步长是 1 ,故 10 +1 = 11 ,下一个数为 11 ,很显然这样加下去是到不了 整数 2的,所以直接返回一个空的整数列表对象
list(range(10, 2))
[]
那如果想要 得到 从 10 - 2的对象呢?很简单,步长设 -1 就可以
list(range(10,-2,-1))
[10,9,8,7,6,5,4,3]
以上是关于range()函数的主要内容,如果未能解决你的问题,请参考以下文章