Python3下AttributeError: 'dict' object has no attribute 'iteritems'的问题分析
2017-05-31 19:35
1176 查看
引言: 目前Python2和Python3存在版本上的不兼容性,这里将列举dict中的问题之一。
1. Python 2 vs Python 3
根据Python社区的主流要求,Python 2将在最近的若干年内不再提供技术支持,目前的python 2.7.12已经是其维护版本;如无意外,大家请参照使用Python 3.
Python 3与Python 2之间的割裂以及向下不兼容性是其一个非常著名的事件,给整个社区和相关应用造成了相当的困扰。
2. 问题
Python 2:
>> dict1 = {}
>> dict1[‘key1’] = ‘val1’
>> for k, v in dict1.items():
print(k+ “=>” + v)
[html] view plain copy print?Traceback (most recent call last):
File ”<ipython-input-23-5ccef53f3d75>“, line 1, in <module>
hist_sorted = sorted(hist.iteritems(), key=lambda d: d[1], reverse=True)
AttributeError: ‘dict’ object has no attribute ‘items’
确认其为Python 3下的用法:
在Python 2之下的用法是:
[html] view plain copy print?for k, v in dict1.iteritems():
print(k+ ”=>“ + v)
4. Python 2 vs python 3
从Python 2向Python 3的进化需要一个过程,其中的差异可以参照如下文章: https://www.zhihu.com/question/19698598
1. Python 2 vs Python 3
根据Python社区的主流要求,Python 2将在最近的若干年内不再提供技术支持,目前的python 2.7.12已经是其维护版本;如无意外,大家请参照使用Python 3.
Python 3与Python 2之间的割裂以及向下不兼容性是其一个非常著名的事件,给整个社区和相关应用造成了相当的困扰。
2. 问题
Python 2:
>> dict1 = {}
>> dict1[‘key1’] = ‘val1’
>> for k, v in dict1.items():
print(k+ “=>” + v)
[html] view plain copy print?Traceback (most recent call last):
File ”<ipython-input-23-5ccef53f3d75>“, line 1, in <module>
hist_sorted = sorted(hist.iteritems(), key=lambda d: d[1], reverse=True)
AttributeError: ‘dict’ object has no attribute ‘items’
Traceback (most recent call last): File "<ipython-input-23-5ccef53f3d75>", line 1, in <module> hist_sorted = sorted(hist.iteritems(), key=lambda d: d[1], reverse=True) AttributeError: 'dict' object has no attribute 'items'3. 问题的解决
确认其为Python 3下的用法:
在Python 2之下的用法是:
[html] view plain copy print?for k, v in dict1.iteritems():
print(k+ ”=>“ + v)
for k, v in dict1.iteritems(): print(k+ "=>" + v)上述代码在python3下,可以正确的执行运行。
4. Python 2 vs python 3
从Python 2向Python 3的进化需要一个过程,其中的差异可以参照如下文章: https://www.zhihu.com/question/19698598
相关文章推荐
- Python3下AttributeError: 'dict' object has no attribute 'iteritems'的问题分析
- Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
- 解决python中问题AttributeError: 'collections.defaultdict' object has no attribute 'iteritems'
- Python2.X与Python3.X编程代码笔记(1):AttributeError: 'dict' object has no attribute 'iteritems'
- 错误AttributeError: 'dict' object has no attribute 'iteritems'
- AttributeError: 'dict' object has no attribute 'iteritems'
- AttributeError: 'dict' object has no attribute 'items' 问题
- AttributeError: 'dict' object has no attribute 'iteritems'
- 'dict' object has no attribute 'iteritems'
- Python3下机器学习实战KNN代码出现AttributeError: ‘dict’ object has no attribute错误
- python3没营养的填坑,BUG:AttributeError: 'dict' object has no attribute 'port'
- AttributeError: 'dict' object has no attribute 'iteritems'
- Python问题分析:AttributeError: module 'sys' has no attribute 'setdefaultencoding'
- Python 保存数组至.mat文件,报错:AttributeError: 'numpy.ndarray' object has no attribute 'items'
- python遇到AttributeError: 'str' object has no attribute '_getAssertEqualityFunc'问题解决过程
- python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
- python问题请教:大佬们 AttributeError: 'int' object has no attribute 'save_bullet'
- python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
- Python问题:AttributeError: '_csv.reader' object has no attribute 'next' 以及UnicodeDecodeError: 'gbk' co
- python图像处理问题AttributeError: 'NoneType' object has no attribute 'shape'