python2和python3部分版本问题总结

python语言有两个版本,python3不能对python2向下兼容,因此两个版本之间存在部分语法差异。现将我目前了解到的部分问题差异总结如下:

1.在python2版本中,d1为字典
keylist = d1.keys()
在python3中,需要进行强制转换
keylist = list(d1.keys())

**2.**python2中有range和xrange,返回的是列表。
但在python3中只有range,range多用作循环,range(0,10)返回一个range对象,如想返回一个list,前面加上list转换;arange是numpy模块中的函数,
使用前需要先导入此模块,arange(3):返回array类型对象。

3.l1,l2为列表,使用zip时,
python2中:zip(l1,l2)得出元组列表
python3中:list(zip(l1,l2))得出元组列表,需要强制转换

4.列表生成器
如:l1 = [1,2,3,4,5]
l2 = (i**2 for i in l1 if i % 2 ==0)
在python2中,l2.next()计算结果;在python3中,next(l2)计算结果。

5.有关pickle问题
在python3中,使用pickle时,文件必须是二进制,如:f1 = open(‘E:/PYTHON/demo/test3.txt’,’wb’)

6.有关map,filter,reduce
在python2中,这三个为内置的函数,可以直接调用
但是在python3中,变为了类,返回结果变成了可迭代的对象,可以加list进行强制装换;同时在使用reduce时,需要导入functools

有关其他语法不同将在我遇到的时候继续更新。

阅读更多
想对作者说点什么? 我来说一句

[A Byte of Python3(中文版)]

2018年01月25日 16.27MB 下载

lightgbm2.03

2018年05月04日 876KB 下载

python 模块

2017年11月19日 572B 下载

lightgbm2.11

2018年05月04日 469KB 下载

python一站式安装包

2017年11月01日 42.66MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭