zoukankan      html  css  js  c++  java
  • TypeError: unorderable types: treeNode() < treeNode(),FP-growth

    机器学习第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],明确指定比较的元素是第一列,如果相等则按照原有顺序排列。

  • 相关阅读:
    多对多关系表的创建方式、forms组件
    SweetAler弹框插件与分页器插件
    Django数据库查询优化与AJAX
    django orm(2)
    Django orm(1)
    Django之视图层与模板层
    Django之路由层
    初识Django之前端后端与数据库的配置
    面试题49
    web框架之初识Django
  • 原文地址:https://www.cnblogs.com/zhhy236400/p/9987725.html
Copyright © 2011-2022 走看看