gpt4 book ai didi

python - 类型错误 : unorderable types: dict() < dict() in heapq

转载 作者:太空宇宙 更新时间:2023-11-04 00:58:19 25 4
gpt4 key购买 nike

我正在移植适用于 python2 的代码。移植时出现错误 unorderable types: dict() < dict()在下一行

heapq.heappush(colors, color) #this throws error
return heapq.nsmallest(count, colors, key=lambda k: k['shade'])

这些是类型:

`colors` is a <class 'list'>
`color` is a <class 'dict'>

我怎样才能使它在 python3 中工作?

最佳答案

你根本不需要在这里调用 heapppush,因为 nsmallest 已经处理了堆排序。它在内部创建一个堆并在其上推送项目。 nsmallest 本身不需要字典可排序,因为您指定了 key 参数。

只需将 heappush 调用替换为 colors.append(color)

请注意,尽管您的代码可以在 Python 2 中运行,但它所做的只是在调用 nsmallest 之前以任意顺序重新排列 colors 列表。

关于python - 类型错误 : unorderable types: dict() < dict() in heapq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com