मेरे पास 2 डी पॉइंट्स की एक सूची है, और वह एक वह बिंदु ढूंढना चाहता है जो किसी दिए गए बिंदु के सबसे नज़दीकी है। कोड (get_closest_point()) नीचे जो मैं चाहता हूं वह करता है। लेकिन क्या अजगर में ऐसा करने का एक अच्छा तरीका है?क्या किसी अन्य बिंदु के निकटतम सूची में बिंदु ढूंढने के लिए कोई और पाइथोनिक तरीका है?
class Circle(object):
def __init__(self, pos):
self.position = pos
class Point(object):
..
def compute_distance_to(self, p)
..
class SomeClient(object):
..
def get_closest_point(self, points, p1):
closest = (None, float(sys.maxint))
for p2 in points:
distance = p2.compute_distance_to(p1)
if distance < closest[1]:
closest = (p2, distance)
return closest[0]
def get_closest_circle(self, circles, p1):
closest = (None, float(sys.maxint))
for c in circles:
distance = c.position.compute_distance_to(p1)
if distance < closest[1]:
closest = (c, distance)
return closest[0]
दिलचस्प प्रश्न पर। – Nicolas78