功能:将numpy数组展开为一维数组

一.     默认方向是行方向,加’a'也是行方向,但是加‘f'是列方向

import numpy as np

a = np.array([[1, 2],
              [3, 4],
              [5, 6],
              [7, 8]])
m = a.flatten()
n = a.flatten('a')
k = a.flatten('f')
print(m)
print(n)
print(k)

输出结果为:

flatten函数Python flattern函数_一维数组

二.   需要注意的是,flatten函数不能直接作用于列表 !

比如,我们将列表改为如下:

a = [[1, 2],
     [3, 4],
     [5, 6],
     [7, 8]]
m = a.flatten()

print(m)

这时候,系统就会报错

flatten函数Python flattern函数_数组_02

 三.    那么,对于列表应该怎么做呢,我们可以改成numpy数组,也可以将代码改为如下:

a = [[1, 2],
     [3, 4],
     [5, 6],
     [7, 8]]
m = [x for i in a for x in i]

print(m)

代码中的i就是列表中的各个列表了,x在这些小列表中逐渐取值组成了m

这时候,代码的结果就变为:

flatten函数Python flattern函数_一维数组_03