Python3下机器学习实战KNN代码出现AttributeError: ‘dict’ object has no attribute错误-阿里云开发者社区

开发者社区> 大黄有故事> 正文

Python3下机器学习实战KNN代码出现AttributeError: ‘dict’ object has no attribute错误

简介: 出现错误的代码时: result = sorted(classCount.iteritems(), key=operator.
+关注继续查看

出现错误的代码时:

result = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)

错误显示:

AttributeError: 'dict' object has no attribute 'iteritems'

之所以会出现上述错误是因为python3中已经没有这个属性,直接改为items即可:

result = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)

知识点补充:

operator.itemgetter函数

operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子。

a = [1,2,3] 
b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值
print(b(a)) 

输出:
2

b=operator.itemgetter(1,0)   //定义函数b,获取对象的第1个域和第0个域的值
print(b(a)) 

输出:
(2, 1)

要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。

字典items()操作方法:

x = {'title':'python web site','url':'www.iplaypy.com'}
print(x.items())

输出:
[(‘url’, ‘www.iplaypy.com’), (‘title’, ‘python web site’)]

从结果中可以看到,items()方法是将字典中的每个项分别做为元组,添加到一个列表中,形成了一个新的列表容器。如果有需要也可以将返回的结果赋值给新变量,这个新的变量就会是一个列表数据类型。

a=x.items()
print(a)

输出:

[(‘url’, ‘www.iplaypy.com’), (‘title’, ‘python web site’)]

print(type(a))

输出:
<\type ‘list’>


参考资料:Python 字典items返回列表

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Fundebug前端JavaScript插件更新至1.7.1,拆分录屏代码,还原部分Script error.
摘要: BUG监控插件压缩至18K。 1.7.0拆分了录屏代码,BUG监控插件压缩至18K,另外我们还原了部分Script error,帮助用户更方便地Debug。请大家及时更新哈~ 拆分录屏代码 从1.7.0版本开始,我们拆分了录屏代码。
1349 0
java面试题:写代码使得分别出现StackOverflowError和OutOfMemoryError
今天做了个笔试,这是其中的一道题目:写代码使得分别出现StackOverflowError和OutOfMemoryError。 1.StackOverflowError   堆栈溢出错误一般是递归调用嘛。
717 0
机器学习实战指南:如何入手第一个机器学习项目?
机器学习实战指南:如何入手第一个机器学习项目?
8 0
flex 1119错误 找不到属性 static 解决方法,编译选项中选中 不启用rsl
flex 1119错误 找不到属性 static 解决方法,编译选项中选中 不启用rsl
407 0
错误代码 missing-signature 错误原因: 缺少签名参数-自查方案
[b]报错截图[/b] [attachment=2253][b]错误原因:[/b] 1.php版本低于5.5 2.把配置私钥的位置,填写成了支付宝公钥或者商户公钥导致。 [color=#ff0000]更多密钥填写错误查看:[url]https://openclub.
1190 0
机器学习实战:基于概率论的分类方法:朴素贝叶斯(源码解析,错误分析)
按照惯例,先把代码粘到这里 from numpy import * def LoadDataSet(): postingList = [['my', 'dog', 'has', 'flea', 'proble...
835 0
【MyEcplise】导入项目后,会定时弹出一下错误MyEcplise tern was unable to complete your request in time.This couble happen if your project contains several large javaScr
Myecplise弹出错误如下:   错误代码: MyEcplise tern was unable to complete your request in time.This couble happen if your project contains several large javaScript libraies.
993 0
+关注
大黄有故事
java,算法,编程语言相关技术专家
114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载