gpt4 book ai didi

列表中的 Python 不支持的操作数类型

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

我有以下坐标的 2d python 列表 mylist...

[[294.0, 351.0], [486.0, 255.5]]

我正在尝试确定这些点中的哪一个最接近像这样的 500x500 区域的中心...

def sqr_dist(a, b):
# return square of distance between points a and b #
return (a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2

central = min( mylist, key=lambda r: sqr_dist( (mylist[0], mylist[1]), (500, 500) ) )

但是我收到错误...

TypeError: unsupported operand type(s) for -: 'list' and 'int'

我假设这是在告诉我不能在 list 上使用 min

如果是这种情况,那么我的替代方案是什么?

最佳答案

sqr_dist( (mylist[0], mylist[1]), (500, 500) )
b=(500, 500)
a[0]=[294.0, 351.0]
b[0]=500

所以你不能用 integer(a[0] - b[0]) 减去列表 如您的错误所示 - 符号 -: 'list' and 'int'

正确的做法

central = min( mylist, key=lambda r: sqr_dist( r, (500, 500) ) )

关于列表中的 Python 不支持的操作数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56912891/

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