range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
比如:
1 | >>> range ( 5 ) |
2 | [ 0 , 1 , 2 , 3 , 4 ] |
3 | >>> range ( 1 , 5 ) |
4 | [ 1 , 2 , 3 , 4 ] |
5 | >>> range ( 0 , 6 , 2 ) |
6 | [ 0 , 2 , 4 ] |
xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。
01 | >>> xrange ( 5 ) |
02 | xrange ( 5 ) |
03 | >>> list ( xrange ( 5 )) |
04 | [ 0 , 1 , 2 , 3 , 4 ] |
05 | >>> xrange ( 1 , 5 ) |
06 | xrange ( 1 , 5 ) |
07 | >>> list ( xrange ( 1 , 5 )) |
08 | [ 1 , 2 , 3 , 4 ] |
09 | >>> xrange ( 0 , 6 , 2 ) |
10 | xrange ( 0 , 6 , 2 ) |
11 | >>> list ( xrange ( 0 , 6 , 2 )) |
12 | [ 0 , 2 , 4 ] |
由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。