即返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。
例子:
1、用于array对象
1
2
3
4
5
6
7
8
|
from
numpy
import
*
>>>a
=
array([[
1
,
2
],[
3
,
4
],[
5
,
6
]])
###此时a是一个array对象
>>>a
array([[
1
,
2
],[
3
,
4
],[
5
,
6
]])
>>>a.flatten()
array([
1
,
2
,
3
,
4
,
5
,
6
])
|
2、用于mat对象
1
2
3
4
|
>>> a
=
mat([[
1
,
2
,
3
],[
4
,
5
,
6
]])
>>> a
matrix([[
1
,
2
,
3
],
[
4
,
5
,
6
]])<br>>>> a.flatten()<br>matrix([[
1
,
2
,
3
,
4
,
5
,
6
]])<br>
|
3、但是该方法不能用于list对象
1
2
3
4
5
6
7
|
>>> a
=
[[
1
,
2
,
3
],[
4
,
5
,
6
],[
'a'
,
'b'
]]
>>> a
[[
1
,
2
,
3
], [
4
,
5
,
6
], [
'a'
,
'b'
]]
>>> a.flatten()
###报错
Traceback (most recent call last):
File
"<stdin>"
, line
1
,
in
<module>
AttributeError:
'list'
object
has no attribute
'flatten'
|
想要list达到同样的效果可以使用列表表达式:
1
2
|
>>> [y
for
x
in
a
for
y
in
x]
[
1
,
2
,
3
,
4
,
5
,
6
,
'a'
,
'b'
]
|