文章详情页
请问python2.7和3.6同样是for循环输出字典内容为什么排序不一样
浏览:223日期:2022-07-26 08:18:20
问题描述
请问为什么使用2.7和3.6用同样的for输出字典内容排序不一样?
d = {’Adam’:95,’Lisa’:85,’Bart’:59}for k,v in d.items(): print k,’:’,v #3.6的是print(k,’:’,k)
2.7输出的内容
Lisa : 85Adam : 95Bart : 59
而3.6则是正常显示
Adam:95Lisa:85Bart:59
问题解答
回答1:不要过于纠结字典的排序为何不一样,字典本来就是无序的,如果要有序则需要在返回之前进行排序。在python3中一般会做这样1个操作来减少对内存的使用。
回答2:因为这个
https://docs.python.org/3/wha...
cython 3.6 换了种 dict 的实现方式,提升了性能,而键名自动排序是其附带的一个小小的副作用。
相关文章:
1. docker网络端口映射,没有方便点的操作方法么?2. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题3. java - bin目录有什么特殊含义吗?为什么可执行文件都放在bin目录?4. python - django 项目的 migrations 目录是否应该提交到 git5. 怎么php怎么通过数组显示sql查询结果呢,查询结果有多条,如图。我要forsearch里面echo6. python - Push Notification推送服务在手机上测试时候无法收到生产环境的推送7. javascript - 使用nodejs发get请求时遇到的一个错误8. Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?9. docker start -a dockername 老是卡住,什么情况?10. css - 手机qq打开网页无法使用文件上传功能?
排行榜

网公网安备