range与xrange的区别
Posted always-fight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了range与xrange的区别相关的知识,希望对你有一定的参考价值。
一、Python中range()与xrange()有什么区别
range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列
range(6) #[0, 1, 2, 3, 4, 5] range(1,6) #[1, 2, 3, 4, 5] range(1,6,2) #[1, 3, 5] #也就是说range()返回的是个列表
xrange用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器
xrange(6) #xrange(6) list(xrange(6)) #[0, 1, 2, 3, 4, 5] xrange(1,6) #xrange(1, 6) list(xrange(1,6)) #[1, 2, 3, 4, 5] xrange(1,6,2) #xrange(1, 7, 2) list(xrange(1,6,2)) #[1, 3, 5] #xrange()返回的是个生成器
由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。
以上是关于range与xrange的区别的主要内容,如果未能解决你的问题,请参考以下文章