红圈部分怎么写
from functools import partial
import math
points = [(1, 2), (3, 4), (5, 6), (7, 8)]
pt = (4, 3)
def distance(p1, p2):
return math.hypot(p1[0] - p2[0], p1[1] - p2[1])
points.sort(key=partial(distance, pt))
其实没必要用偏函数
points.sort(key=lambda i: math.hypot(i[0] - pt[0], i[1] - pt[1])) #直接lambda就行
还有list.sort是无返回值的,你那样写打印的是None, newlist = sorted(list)才是有返回值的
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
你都会写这么多了,红圈部分不至于不会写吧。
x1, y1 = p1
x2, y2 = p2