When there is only one layer in the lists:
 
    x1 = Range[-1., 1., 0.5];
    y1 = Range[1., -1., -0.5];
    Sqrt@N@Outer[Plus, x1^2, y1^2] // MatrixForm
The result is a {5,5} dimensions list. If the original lists are changed into two {5,5,3} dimensions lists, how to calculate the most inner layer's outer product?
 
    xx1 = Table[x1, 5];
    yy1 = Table[y1, 5];
    kx={-0.005208333333333333, 0.*10^-18, 0.00520833333333333};
    ky={0.005208333333333333, 0.*10^-18, -0.00520833333333333};
    dx[x_] := x + kx;
    SetAttributes[dx, Listable];
    dy[y_] := y + ky;
    SetAttributes[dy, Listable];
    Sqrt@N@Outer[Plus, dx[xx1]^2, Transpose@dy[yy1]^2, 3] // MatrixForm
The corresponding result should be a {5,5,3,3} dimensions list, but it is a {5, 5, 3, 5, 5, 3} dimensions list.