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

出现错误的代码时:

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返回列表

时间: 2024-11-10 07:53:25

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

python错误:AttributeError: &#039;module&#039; object has no attribute &#039;setdefaultencoding&#039;问题的解决方法_python

Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8 查看目前系统字符集 复制代码 代码如下: import sys print sys.getdefaultencoding() 执行: 复制代码 代码如下: [root@lee ~]# python a.py ascii 修改成utf-8 复制代码 代码如下: import sys   sys.setdefaultencoding('utf-8')   print sys.get

Python提示AttributeError: &#039;module&#039; object has no attribute &#039;XXX&#039;的问题

问题描述 在运行py脚本时报错AttributeError: 'module' object has no attribute 'urlopen'. 排错,模块名拼写正确,方法urlopen也存在. 代码断点运行,没问题. 方谷歌之. 解决方法 1.在命名py脚本时,不要和python的预留字等类似或者相同. 2.每次py脚本运行时均会产生一个pyc文件.如果产生了则在代码不更新的时候依旧会走pyc.所以也一并要删除. 如下Python代码,执行时报错"AttributeError: 'modu

AttributeError: &amp;#39;dict_values&amp;#39; object has no attribute &amp;#39;translate&amp;#39;

/***************************************************************************************** * AttributeError: 'dict_values' object has no attribute 'translate' * 说明: * 由于目前使用的是Python3,在解读MySQL的ORM库的时候,结果直接遇到这个错误. * * 2016-10-13 深圳 南山平山村 曾剑锋 **********

提示AttributeError: &amp;#39;module&amp;#39; object has no attribute &amp;#39;HTTPSHandler&amp;#39;解决方法

今天在新机器上安装sqlmap,运行提示AttributeError: 'module' object has no attribute 'HTTPSHandler' 网上找了找资料,发现一篇文章http://paltman.com/2007/11/15/getting-ssl-support-in-python-251/ 输入如下命令: 1 2 3 4 5 6 wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz tar zxf op

AttributeError: &amp;#39;module&amp;#39; object has no attribute &amp;#39;TornadoAsyncNotifier&amp;#39;

/*************************************************************************** * AttributeError: 'module' object has no attribute 'TornadoAsyncNotifier' * 说明: * Tony在用mkdocs的时候遇到这个错误,找一些资料,解决一下. * * 2016-10-28 深圳 南山平山村 曾剑锋 *****************************

为什么我的计算结果是1?(机器学习实战,第3张的熵)

问题描述 为什么我的计算结果是1?(机器学习实战,第3张的熵) 想请教各位大神,我在学<机器学习实战 第三章>时,遇到一个问题,就是课程上得出的答案是0,我得出的答案却是1. 代码链接 解决方案 机器学习实战笔记1(机器学习基础) 解决方案二: 本人创建的机器学习研究QQ群445858879,欢迎爱好机器学习的朋友来此交流学习心得,群里有数据挖掘的高手跟大家切磋 解决方案三: 你看看你的数据集,你的1代表第一个特征是最好的划分.书上是第零个

在python3下用PIL做图像处理

Python Imaging Library (PIL)是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能. 目前PIL的官方最新版本为1.1.7,支持的版本为python 2.5, 2.6, 2.7,并不支持python3,但有高手把它重新编译生成python3下可安装的exe了.这一非官方下载地址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil  或者直接点下面: PIL-1.1.7.win32-py3.2.‌exe  

《Spark MLlib 机器学习实战》1——读后总结

1 概念 2 安装 3 RDD RDD包含两种基本的类型:Transformation和Action.RDD的执行是延迟执行,只有Action算子才会触发任务的执行. 宽依赖和窄依赖用于切分任务,如果都是窄依赖,那么就可以最大化的利用并行. 常用操作: cache 缓存 cartesian 笛卡尔积 coalesce 重分区 countByValue 分组统计 distinct 去除重复 filter 过滤 flatMap map groupBy 分组 keyBy 增加key reduce 拼接

javascript-麻烦看下这段JQ代码,有一些困惑

问题描述 麻烦看下这段JQ代码,有一些困惑 $(function(){ var myScroll2=null; function menuInit(){ var _menuScroll = $("".menuScroll""); var _menuScroll_size = _menuScroll.find(""li"").length;//获取 li长度 var liWidth = 0; $("".men