Python 将2D数组合并到列表中

Python 将2D数组合并到列表中,python,arrays,list,numpy,Python,Arrays,List,Numpy,我要做的是像这样旋转二维阵列: np.数组([[0,1,2,3], [1,5,6,7]] 进入此列表(包含所有数字的列表): [0,1,2,3,1,5,6,7] 有什么办法可以实现吗 x = np.array([[ 0, 1, 2, 3], [ 1, 5, 6, 7]]) list(x.flat) # if you want a list # [0, 1, 2, 3, 1, 5, 6, 7] x.flatten() # if you want a numpy array #

我要做的是像这样旋转二维阵列:

np.数组([[0,1,2,3], [1,5,6,7]]

进入此列表(包含所有数字的列表):

[0,1,2,3,1,5,6,7]

有什么办法可以实现吗

x = np.array([[ 0, 1, 2, 3], [ 1, 5, 6, 7]])    

list(x.flat)    # if you want a list
#  [0, 1, 2, 3, 1, 5, 6, 7]

x.flatten()  # if you want a numpy array
#   array([0, 1, 2, 3, 1, 5, 6, 7])
我不清楚您想要的是列表还是numpy数组,但它们都很容易获得(尽管我假设您想要一个列表,因为您将此问题标记为
list
)。选择你想要的或对你最有用的是合理的

对于许多用途,但也有一些时候,列表工作得更好。例如,在许多构造中,一次只获取一个项,而不提前知道结果输出数组的大小,在这种情况下,使用
append
构建一个列表,然后将其转换为numpy数组以进行FFT是有意义的


还有其他方法可以在列表和numpy数组之间进行转换。当你需要做一些不同的事情时(例如,更快),一定要看一下文档或者在这里问一下。

-1你真的想要一个列表还是仅仅是
np。flatte
?+1:谷歌“flatte”只有在你知道使用“flatte”这个词的情况下才有效,但是如果你知道,你已经知道答案了。帕德雷克·坎宁安是对的。您通常希望避免减少数据类型的性质。如果您有一个
numpy.array
作为开始,请将其保留为
numpy.array
。否则,当有人认为它仍然是一个
numpy.array
,试图将其作为一个数组使用时,可能会导致错误/混乱。毫无疑问,OP最好的方法是使用numpy
x。重塑(-1)
是生成1d数组的另一种方法。添加
.tolist()
使其成为一个列表。有趣的一点是,
展平
返回一个副本,
ravel
(和
重塑
)仅在必要时执行此操作。在某些情况下,这很重要。