You can use diag method:

```
import numpy as np
a = np.array([1,2,3,4])
d = np.diag(a)
# or simpler: d = np.diag([1,2,3,4])
print(d)
```

Results in:

```
[[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]]
```

If you have a row vector, you can do this:

```
a = np.array([[1, 2, 3, 4]])
d = np.diag(a[0])
```

Results in:

```
[[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]]
```

For the given matrix in the question:

```
import numpy as np
a = np.matrix([1,2,3,4])
d = np.diag(a.A1)
print (d)
```

Result is again:

```
[[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]]
```