📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

range 函数

创建时间2018-08-23最后修改2018-08-25原位置/程序员成长之旅/Python学习/字数567图片/附件1
目录:程序员成长之旅/Python学习

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 []

附件