Если вы настаиваете на numpy (при условии, что ваши внутренние массивы 1-D):
dist_mat = ((list1[:,None,:]-list2[:,:])**2).sum(2)
Обратите внимание, что согласно вашему определению расстояния, о котором идет речь, это квадрат евклидовых расстояний. Если вам нужно само расстояние, просто возьмите квадрат root этого.
В противном случае я бы предпочел комментарий @ Quang:
from scipy.spatial import distance_matrix
dist_mat = distance_matrix(list1, list2)