Learning Python 018 Python2 和 Python3 中 range()函数的使用
来源:互联网 发布:rsyslog windows 编辑:程序博客网 时间:2024/06/10 22:46
- 使用的电脑系统:Windows 10 64位
- 使用的开发集成环境:PyCharm 2016.1.4
- 使用的Python的版本:python 2.7.10 和 python 3.5.0
range()
函数
- Python2中:用来创建一个列表(list)。
- Python3中:用来创建一个可以生成list或者tuple的生成器。
Python2 range()
函数 知识点
Python2 中的range()
函数可以生成一个list。(分配内存空间)
a = range(10)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]b = range(4,10)# [4, 5, 6, 7, 8, 9]
Python2 中的xrange()
函数不是生成一个list,而是生成一个生成器,不分配内存。
a = xrange(10)# xrange(10)b = list(xrange(10))# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]c = tuple(xrange(10))# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
Python3 range()
函数 知识点
a = range(10)# range(0, 10)
输出:(打印出来的不是一个列表,而是一个生成器)。
Python3 选择这样做的原因:可以节约内存空间,详情请参考这篇博客:Python2和Python3的内存释放。
Python3中的range()
函数的功能和Python2中的xrange()
函数一样,所以在Python3中没有xrange()
函数。
要想生成list或者tuple,这样做:
a = list(range(10))# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]b = list(range(4,10))# [4, 5, 6, 7, 8, 9]a = tuple(range(10))# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)b = tuple(range(4,10))# (4, 5, 6, 7, 8, 9)
range()
函数的使用
下面这段代码在Python2 和 Python3中得到的运行结果都是一样的。
for i in range(10): print(i)
输出:
0123456789
运行结果是一样的,但是运行的原理不同:
- Python2:在第一次执行
range(10)
,就生成了一个[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
列表。 - Python3:在每次执行
range(10)
时,生成一个元素i
。
请访问:http://www.aobosir.com/
0 0
- Learning Python 018 Python2 和 Python3 中 range()函数的使用
- Learning Python 017 — Python2 和 Python3 的内存释放
- Learning Python 014 使用 pip 工具的注意事项 --- 混淆的python2 和 python3
- Python-在Python2中使用Python3的输出和除法格式
- Python python2和python3的安装及切换使用
- import自定义函数中,python2 和python3的不同
- python中range函数的使用
- python2和python3中的range区别
- python2和python3中的range区别
- python2和python3 map函数的区别
- python3中range函数的变化
- Python2与Python3的区别(五):range
- python3和python2中print的用法有很多不同,python3中需要使用括号
- Anaconda中(Python2和Python3)的切换
- Python2和Python3中@abstractmethod的用法
- Anaconda中(Python2和Python3)的切换
- Python2和Python3的metaclass使用
- 【python学习笔记】python2.x与python3.x版本中zip函数的不同
- 浅谈大型web系统架构
- C# DateTime日期格式化
- 修改python编码格式
- npm安装问题
- Weblogic 发布网站失败
- Learning Python 018 Python2 和 Python3 中 range()函数的使用
- 深度学习UFLDL(一)
- S3C2440开发板LED驱动——ioremap 映射
- yum 常用命令和选项 及 安装的软件的位置
- bit、byte、位、字节、汉字、字符之间的区别
- 自带logo的二维码生成代码
- Ural1709-Penguin-Avia
- 修复RecyclerView嵌套滚动问题
- Android 将自己的应用改为系统应用