The function 'get_neighbors returns a list with 'k' neighbors, which are closest to the instance 'test_instance':
def get_neighbors(training_set,
labels,
test_instance,
k,
distance=distance):
distances = []
for index in range(len(training_set)):
dist = distance(test_instance, training_set[index])
distances.append((training_set[index],
dist,
labels[index]))
distances.sort(key=lambda x: x[1])
neighbors = distances[:k]
return neighbors