# Element-comparison NumPy matrix

I need a NumPy matrix with comparisons among all elements in a sequence:

from numpy import matrix
seq = [0, 1, 2, 3]
matrix([[cmp(a, b) for a in seq] for b in seq])


I'd like to know if there is a better way to do this.

Why are you using matrix rather than array? I recommend sticking with array
seq = numpy.array([0, 1, 2, 3])

1. seq[:, None], moves the numbers into the second dimension of the array
2. seq[:, None] - seq broadcasts the numbers against each other, and subtracts them.
3. numpy.clip converts lower/higher values into 1 and -1