user2173836 - 10 months ago 34

Python Question

I am trying to create a matrix of random numbers, but my solution is too long and looks ugly

`random_matrix = [[random.random() for e in range(2)] for e in range(3)]`

this looks ok, but in my implementation it is

`weights_h = [[random.random() for e in range(len(inputs[0]))] for e in range(hiden_neurons)]`

which is extremely unreadable and does not fit on one line.

Answer

You can drop the `range(len())`

:

```
weights_h = [[random.random() for e in inputs[0]] for e in range(hiden_neurons)]
```

But really, you should probably use numpy.

```
In [9]: numpy.random.random((3, 3))
Out[9]:
array([[ 0.37052381, 0.03463207, 0.10669077],
[ 0.05862909, 0.8515325 , 0.79809676],
[ 0.43203632, 0.54633635, 0.09076408]])
```

Source (Stackoverflow)