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

  • 相关阅读:
    HTML5+php图片自由裁剪上传功能
    一个日期时间显示框的美化风格示例
    PHP+jquery 瀑布流+LightBox图片盒子特效
    类型
    异常语句
    穷举
    练习
    累加求和
    猜拳游戏(三局两胜)
    正则表达式
  • 原文地址:https://www.cnblogs.com/zhhy236400/p/9987725.html
Copyright © 2011-2022 走看看