gpt4 book ai didi

Python3移植: TypeError: unorderable types: dict() < int()

转载 作者:行者123 更新时间:2023-11-28 19:45:33 24 4
gpt4 key购买 nike

我有这段代码在 python 2.7 中运行良好。“dist”是数字字典,“min_dist”只是一个数字。

for v in vertices:
if dist[v.node_id] < min_dist:
min_dist = dist[v.node_id]
cur_min = v

现在我试图在 python 3.2 下运行它,它给了我这个错误:

    if dist[v.node_id] < min_dist:
TypeError: unorderable types: dict() < int()

我在 python 3.2 中的代码有什么问题?

最佳答案

您的代码在 Python 2 中也是“错误的”。将字典与整数进行比较是没有意义的。这就像询问颜色是否大于数字一样,根本没有意义。

Python 2允许这样比较不同的类型,并且总是会说字典比数字大,这是任意的。即使是空字典也比数字大:

>>> import sys
>>> {} > sys.maxint
True

这样的比较是没有意义的,Python 3 反而正确地引发和错误,实际上是在说“我不知道你的意思”,这要好得多并且避免了错误的比较。

关于Python3移植: TypeError: unorderable types: dict() < int(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8613515/

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