I want to append multiple lists containing a numpy array. I try with append
but it doesn't append the two lists for different t
. I present the current and expected outputs.
import numpy as np
N=2
arsigma=[]
for t in range(0,2):
sigma=0.02109*t*np.ones((2*N*(N 1), 1))
arsigma.append(sigma)
arsigma=list(sigma)
print("sigma =",[sigma])
The current output is
sigma = [array([[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.]])]
sigma = [array([[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109]])]
The expected output is
sigma=[array([[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.],
[0.]]), array([[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109],
[0.02109]])]
CodePudding user response:
Use list comprehension instead:
N = 2
arsigma = [0.02109*t*np.ones((2*N*(N 1), 1)) for t in range(2)]