gpt4 book ai didi

python "round robin"

转载 作者:太空狗 更新时间:2023-10-30 01:39:20 32 4
gpt4 key购买 nike

给定多个 (x,y) 有序对,我想比较它们之间的距离。所以假装我有一个有序对列表:

pairs = [a,b,c,d,e,f]

我有一个函数,它接受两个有序对并找出它们之间的距离:

def distance(a,b):
from math import sqrt as sqrt
from math import pow as pow
d1 = pow((a[0] - b[0]),2)
d2 = pow((a[1] - b[1]),2)
distance = sqrt(d1 + d2)
return distance

我如何使用此函数将每个有序对与其他所有有序对进行比较,最终找到它们之间距离最大的两个有序对?

伪伪代码:

     distance(a,b)
distance(a,c)
...
distance(e,f)

如有任何帮助,我们将不胜感激。

最佳答案

在 python 2.6 中,你可以使用 itertools.permutations

import itertools
perms = itertools.permutations(pairs, 2)
distances = (distance(*p) for p in perms)

import itertools
combs = itertools.combinations(pairs, 2)
distances = (distance(*c) for c in combs)

关于 python "round robin",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728543/

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