# Dividing a list of arrays to a smaller list of arrays

In my current research project, I have a list of arrays similar to the one shown bellow:

``````import numpy as np
[np.array([ 0.00727845,  0.00363923, -0.00976286, -0.00488143]),
np.array([ 0.00493276,  0.00246638, -0.00893927, -0.00446964]),
np.array([ 0.00283457,  0.00141729, -0.00780608, -0.00390304]),
np.array([ 0.00104456,  0.00052228, -0.00649412, -0.00324706]),
np.array([-0.00040696, -0.00020348, -0.00511511, -0.00255755]),
np.array([-0.00151502, -0.00075751, -0.00375973, -0.00187987])]
``````

Here, the length of each individual array is the same. let it e `N`
Then I need to separate each array in to half and collect them separately.

That is:

``````list_1 =
[np.array([ 0.00727845,  0.00363923, ]),
np.array([ 0.00493276,  0.00246638, ]),
np.array([ 0.00283457,  0.00141729, ]),
np.array([ 0.00104456,  0.00052228, ]),
np.array([-0.00040696, -0.00020348, ]),
array([-0.00151502, -0.00075751, ])]

list_2 =
np.array([ -0.00976286, -0.00488143]),
np.array([ -0.00893927, -0.00446964]),
np.array([-0.00780608, -0.00390304]),
np.array([  -0.00649412, -0.00324706]),
np.array([ -0.00511511, -0.00255755]),
array([ -0.00375973, -0.00187987])]
``````

I can think of a very lengthy method using for loops to do this but I suppose there is a better way of handling. Appreciate your help

### >Solution :

We could use a list comprehension approach here:

``````import numpy as np

inp = [
np.array([ 0.00727845,  0.00363923, -0.00976286, -0.00488143]),
np.array([ 0.00493276,  0.00246638, -0.00893927, -0.00446964]),
np.array([ 0.00283457,  0.00141729, -0.00780608, -0.00390304]),
np.array([ 0.00104456,  0.00052228, -0.00649412, -0.00324706]),
np.array([-0.00040696, -0.00020348, -0.00511511, -0.00255755]),
np.array([-0.00151502, -0.00075751, -0.00375973, -0.00187987])
]
list_1 = [np.array(x[0:2]) for x in inp]
list_2 = [np.array(x[2:4]) for x in inp]
print(list_1)
``````

This prints:

`````` [array([0.00727845, 0.00363923]),
array([0.00493276, 0.00246638]),
array([0.00283457, 0.00141729]),
array([0.00104456, 0.00052228]),
array([-0.00040696, -0.00020348]),
array([-0.00151502, -0.00075751])]
``````