博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python range()和xrange()
阅读量:4170 次
发布时间:2019-05-26

本文共 1221 字,大约阅读时间需要 4 分钟。

在python2中:

range()用来生成一个真实的列表,语法如下:

range(start,end,step)

start是起始值(包含start本身),默认值是0
end是终值(不包含end本身),
step是步长,默认值是1,step取值不能为0
举例如下:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(3,10)
[3, 4, 5, 6, 7, 8, 9]
>>> range(4,12,2)
[4, 6, 8, 10]

>>> for i in range(10):

...     print i,
... 
0 1 2 3 4 5 6 7 8 9

>>> for i in range(10):

...     print i
... 
0
1
2
3
4
5
6
7
8
9

python2中,range()与xrange()异同如下图:

显然,xrange()更节省内存,它的内存处理上效率更高,更适合处理大数据量

xrange()举例如下:

>>> xrange(10)

xrange(10)
>>> xrange(3,10)
xrange(3, 10)
>>> xrange(4,12,2)
xrange(4, 12, 2)
>>> for i in xrange(10):
...     print i,
... 
0 1 2 3 4 5 6 7 8 9
>>> for i in xrange(10):
...     print i
... 
0
1
2
3
4
5
6
7
8
9

在python3中:

已经没有xrange()函数了,它使用的是range()函数,python3中range()函数与python2中的xrange()函数功能一致

举例如下:

>>> xrange()
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    xrange()
NameError: name 'xrange' is not defined
>>> range(10)
range(0, 10)
>>> range(2,12,2)
range(2, 12, 2)
>>> for i in range(2,12,2):
print (i)
2
4
6
8
10
>>> for i in range(2,12,2):
print(i,end=' ')
2 4 6 8 10 

python2中range()函数,可产生一个列表,而在python3中,如何产生列表呢?在python3中,要获得一个真正的列表,需要显式调用,如下

>>> range(10)
range(0, 10)
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

你可能感兴趣的文章
Java核心技术 卷I 基础知识 学习笔记(3)
查看>>
TCP-IP详解卷1:协议 学习笔记(6) Ping
查看>>
Java核心技术 卷I 基础知识 学习笔记(4)
查看>>
Java核心技术 卷I 基础知识 学习笔记(5)
查看>>
Java核心技术 卷I 基础知识 学习笔记(6)
查看>>
微服务架构与实践 学习笔记(1)
查看>>
Java核心技术 卷I 基础知识 学习笔记(7)
查看>>
IDEA使用之让maven项目自动依赖jar包
查看>>
Java核心技术 卷I 基础知识 学习笔记(8)
查看>>
Java核心技术 卷I 基础知识 学习笔记(9)
查看>>
Intellij IDEA 创建资源文件夹 source folder
查看>>
Java核心技术卷2 高级特性 学习笔记(1)
查看>>
Java核心技术卷2 高级特性 学习笔记(4)
查看>>
最大乘积
查看>>
最长公共子串
查看>>
codeforces831c 思维
查看>>
CodeForces - 785C Anton and Fairy Tale
查看>>
CodeForces - 831D Office Keys
查看>>
hdu 1258 确定比赛名次
查看>>
hdu 3342 拓扑,是否存在环
查看>>