按照惯例先吟诗一首:
《行宫》–元稹
寥落古行宫,宫花寂寞红。
白头宫女在,闲坐说玄宗。
range(start=None, stop=None, step=None)函数说明:
1 2 3 4 5
| Return a list containing an arithmetic progression of integers. range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0. When step is given, it specifies the increment (or decrement). For example, range(4) returns [0, 1, 2, 3]. The end point is omitted! These are exactly the valid indices for a list of 4 elements.
|
大致意思就是:range函数返回的是包含一个等差数列的整数列表,根据参数start与stop指定的范围以及step设定的差值,生成一个列表。 如果不指定step默认差值就是1,如果指定step,它指定递增(或递减),差值就是step.如果不明白举个栗子,如果还不明白就举2个栗子。
例子1:
1 2 3
| a=range(0,10,2) print a print type(a)
|
结果如下:
1 2
| [0, 2, 4, 6, 8] <type 'list'>
|
例子2:
1 2 3
| a=range(0,-10,-2) print a print type(a)
|
结果如下:
1 2
| [0, -2, -4, -6, -8] <type 'list'>
|
xrange 函数说明:和range 的用法完全相同,但是返回的是一个生成器。
例子1:
1 2 3
| a=xrange(0,10,2) print a print type(a)
|
结果如下:
1 2
| [xrange(0, 10, 2) <type 'xrange'>
|
例子2:
1 2 3
| a=xrange(0,-10,-2) print a print type(a)
|
结果如下:
1 2
| xrange(0, -10, -2) <type 'xrange'>
|
range和xrange区别:
两个都是在循环迭代的时候使用,range返回的是个list,xrange返回的是xrange对象,生成很小的数字序列时候性能没什么区别,但是要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。如果你不是为了要返回一个list,在循环中尽量使用xrange。
最后更新时间:
这里可以写作者留言,标签和 hexo 中所有变量及辅助函数等均可调用,示例:
http://suxianglun.github.io/2017/07/24/python中range和xrange的区别/