flatten是numpy.ndarray.flatten的一个函数,返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。
例子:
1、用于array对象
from numpy import *
a=array([[1,2],[3,4],[5,6]]) ###此时a是一个array对象
print(a)
#array([[1,2],[3,4],[5,6]])
print((a.flatten())
#array([1,2,3,4,5,6])
2、用于mat对象
a=mat([[1,2,3],[4,5,6]])
print(a)
##matrix([[1, 2, 3],
[4, 5, 6]])
print(a.flatten())
#matrix([[1, 2, 3, 4, 5, 6]])
3、但是该方法不能用于list对象
想要list达到同样的效果可以使用列表表达式:
a=[[1,2,3],[4,5,6],['a','b']]
print([y for x in a for y in x])
##[1, 2, 3, 4, 5, 6, 'a', 'b']