Python xrange与range的区别

Chapter: Python数据类型
1. 用dictionary实现Python没有的switch语句
2. Python中Dict类型的操作介绍
3. Python的数据访问模型与序列介绍
4. 序列的几个通用操作介绍
5. 序列的索引与切片操作
6. 序列中的列表list数据类型
7. 序列中的元组tuple数据类型
8. 序列中的字符串string数据类型
9. 序列中的数字序列range类型
10. Python xrange与range的区别
11. 用序列来理解Python里的多重赋值
range 前面小节已经说明了,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性能优很多,因为不需要一上来就开辟一块很大的内存空间。

xrange 和 range 这两个基本上都是在循环的时候用。

1
for i in range(0, 100):
2
print i
3

4
for i in xrange(0, 100):
5
print i
这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象:

1
a = range(0,100)
2
print type(a)
3
print a
4
print a[0], a[1]
输出结果:

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值