Source code for similarityPy.algorithms.find_nearest

# coding=utf-8
"""
Created on 18 January 2014
@author: Cenk Bircanoglu
"""


[docs]class FindNearest: def __init__(self, data, point, distance_algorithm, k=1): if type(data) is list and point: self._data = data self._point = point self._result = None self._distance = None self._distance_algorithm = distance_algorithm self.k = k else: raise TypeError("You must initialize array and a point")
[docs] def get_result(self): return self._result
[docs] def process(self): distances = [self._distance_algorithm.calculate([self._point, x]) for x in self._data] self._distance = self._distance_algorithm.min_max(distances, self.k) self._result = [] if len(self._distance) == 1: self._result = self._data[distances.index(self._distance[0])] else: for i in self._distance: self._result.append(self._data[distances.index(i)])