range 函数
Python3 中的range 在使用一下代码 range函数生成数列时发现结果不是想要的数列 而是直接返回了原输入的函数以及参数
testRange=range(1,101) print testRange range(1,101)
x
1 testRange
range ( 1 , 101 ) 2 print
testRange 3
range ( 1 , 101 ) range函数在Python3中返回的不是数列而是一个可迭代对象 #正确的方法 使用list对象迭代器 把对象转换成一个列表 testRange=list(range(1,101)
1
1 #正确的方法 使用list对象迭代器 把对象转换成一个列表 2 testRange = list ( range ( 1 , 101 )
demo
-- coding: UTF-8 -- # t = ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ) t = tuple(range(0,10)) # t = tuple(x for x in range(0,10)) # t = tuple(xrange(10)) # t = (range(0,10)) print t # 我勒个去,我自己都懵了,看了这么多写法。。。
x
1
-- coding: UTF-8 --
2
t = ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 )
3 t
tuple ( range ( 0 , 10 )) 4
t = tuple(x for x in range(0,10))
5
t = tuple(xrange(10))
6
t = (range(0,10))
7 print
t 8 9
我勒个去,我自己都懵了,看了这么多写法。。。
range 可以按照一定的数值一次自增自己 并且可以设定初始值
range(start, stop, [step])
start: 计数从 start 开始。 默认是从 0 开始 。例如range(5)等价于range(0, 5);
end: 计数到 end 结束,但不包括 end 。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
demo2
range(10) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(0, 30, 5) # 步长为 5 [0, 5, 10, 15, 20, 25] >>> range(0, 10, 3) # 步长为 3 [0, 3, 6, 9] >>> range(0, -10, -1) # 负数 [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> range(0) [] >>> range(1, 0) []
1
range ( 10 )
从 0 开始到 10
2 [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] 3
range ( 1 , 11 )
从 1 开始到 11
4 [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] 5
range ( 0 , 30 , 5 )
步长为 5
6 [ 0 , 5 , 10 , 15 , 20 , 25 ] 7
range ( 0 , 10 , 3 )
步长为 3
8 [ 0 , 3 , 6 , 9 ] 9
range ( 0 ,
10 ,
1 )
负数
10 [ 0 ,
1 ,
2 ,
3 ,
4 ,
5 ,
6 ,
7 ,
8 ,
9 ] 11
range ( 0 ) 12 [] 13
range ( 1 , 0 ) 14 []