在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 按照多個點到一個點的距離來排序

按照多個點到一個點的距離來排序

紅圈部分怎么寫
圖片描述

回答
編輯回答
筱饞貓

你都會寫這么多了,紅圈部分不至于不會寫吧。
x1, y1 = p1
x2, y2 = p2

2017年6月14日 05:35
編輯回答
厭遇
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))

其實沒必要用偏函數(shù)

points.sort(key=lambda i: math.hypot(i[0] - pt[0], i[1] - pt[1])) #直接lambda就行

還有l(wèi)ist.sort是無返回值的,你那樣寫打印的是None, newlist = sorted(list)才是有返回值的

2018年3月14日 06:22