功能:将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函数不能直接作用于列表 !
比如,我们将列表改为如下:
a = [[1, 2],
[3, 4],
[5, 6],
[7, 8]]
m = a.flatten()
print(m)
这时候,系统就会报错
三. 那么,对于列表应该怎么做呢,我们可以改成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
这时候,代码的结果就变为: