博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeError: unorderable types: treeNode() < treeNode(),FP-growth
阅读量:4352 次
发布时间:2019-06-07

本文共 857 字,大约阅读时间需要 2 分钟。

机器学习第12章FP-growth算法:

bigL = [v[0] for v in sorted(headerTable.items(), key=lambda p:p[1])]

 在python3中会报错:TypeError: unorderable types: treeNode() < treeNode()

原因:首先查看p[1]内容:

for i in headerTable.items():        print(i[1])    print('********************************')

 输出:

[3, <__main__.treeNode object at 0x000002030A0FC518>][3, <__main__.treeNode object at 0x000002030A0FC630>][4, <__main__.treeNode object at 0x000002030A0FC240>][3, <__main__.treeNode object at 0x000002030A0FC048>][5, <__main__.treeNode object at 0x000002030A0FC128>][3, <__main__.treeNode object at 0x000002030A0FC588>]

 默认比较第一列元素,但是当第一列元素相等时会比较第二列元素,而第二列元素是treeNode类型,无法比较treeNode类型的数据。

解决方法:

方法1、将p[1]转换成str类型

bigL = [v[0] for v in sorted(headerTable.items(), key=lambda p:str(p[1]))]

 方法2、将p[1]改成p[1][0],明确指定比较的元素是第一列,如果相等则按照原有顺序排列。

 

转载于:https://www.cnblogs.com/zhhy236400/p/9987725.html

你可能感兴趣的文章
webpack2.0 基本使用
查看>>
vue axios全攻略
查看>>
解决使用phpmyadmin导出导入数据库时提示的“超出长度”、“超时”问题
查看>>
FIR滤波器的FPGA实现方法
查看>>
CABasicAnimation
查看>>
Codeforces 916 二进制1数目构造(阅读理解) 最小生成树1-N路径质数构造
查看>>
启动Eclipse时发生An internal error occurred during: "Initializing Java Tooling"错误
查看>>
Qt:禁止qDebug的输出
查看>>
word、pdf、ppt 转为图片
查看>>
000 关于IDEA的基本环境配置以及快速使用(git拉载程序,Jdk安装,tomcat部署,应用程序打包运行)...
查看>>
20162302 《程序设计与数据结构》第八周学习总结
查看>>
web容器 web服务器 servlet/jsp容器 之间的区别和关系
查看>>
78,90,Subsets,46,47,Permutations,39,40 DFS 大合集
查看>>
在Static控件上显示图片
查看>>
ORACLE 数据库基本参数查询
查看>>
iOS - CAReplicatorLayer 的运用
查看>>
iOS 8自动调整UITableView和UICollectionView布局
查看>>
哈佛精神
查看>>
c++
查看>>
微信开发
查看>>