Python 如何在循环中连接超过2个数组(变量)(其中一个在第一个循环中为空)
我想用Python实现这个函数,比如Matlab 在matlab中,代码是Python 如何在循环中连接超过2个数组(变量)(其中一个在第一个循环中为空),python,matlab,numpy-ndarray,Python,Matlab,Numpy Ndarray,我想用Python实现这个函数,比如Matlab 在matlab中,代码是 A = []; for ii = 0:9 B = [ii, ii+1, ii**2]; C = [ii+ii**2, ii-5]; A = [A, B, C]; end 但是在Python中,使用np.hstack或np.concatenate,ndarray必须具有相同的维度数 如果第一个循环中的A为空,代码将出错如下: for ii in range(10): B = np.arra
A = [];
for ii = 0:9
B = [ii, ii+1, ii**2];
C = [ii+ii**2, ii-5];
A = [A, B, C];
end
但是在Python中,使用np.hstack或np.concatenate,ndarray必须具有相同的维度数
如果第一个循环中的A为空,代码将出错如下:
for ii in range(10):
B = np.array([ii, ii+1, ii**2])
C = np.array([ii+ii**2, ii-5])
if ii == 0:
A = np.hstack([B, C])
else:
A = np.hstack([A, B, C])
这是我的Python代码,B和C是变量,而不是重复,请不要结束我的问题
for ii in range(10):
B = np.array([ii, ii+1, ii**2])
C = np.array([ii+ii**2, ii-5])
if ii == 0:
A = np.hstack([B, C])
else:
A = np.hstack([A, B, C])
但是,我觉得它有点麻烦和不可读
如何重写它?(最好只使用一行代码)而不知道结果应该是什么-我认为这很接近
将numpy导入为np
q=np.arange(10)
bs=np.vstack((q,q+1,q**2)).T
cs=np.vstack((q,q**2,q-5)).T
a=np.hstack((bs,cs))
或者可能:
a=np.hstack((bs,cs)).ravel()
在不知道结果应该是什么的情况下-我认为这很接近
将numpy导入为np
q=np.arange(10)
bs=np.vstack((q,q+1,q**2)).T
cs=np.vstack((q,q**2,q-5)).T
a=np.hstack((bs,cs))
或者可能:
a=np.hstack((bs,cs)).ravel()
结果应该是什么?结果应该是什么?