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