I have two 2d numpy arrays: x_array contains positional information in the x-direction, y_array contains positions in the y-direction.
I then have a long list of x,y
If you can massage your data into the right format, a fast way to go is to use the methods in scipy.spatial.distance:
scipy.spatial.distance
http://docs.scipy.org/doc/scipy/reference/spatial.distance.html
In particular pdist and cdist provide fast ways to calculate pairwise distances.
pdist
cdist