您的位置:首页 > 编程语言 > Python开发

Python中flatten用法

2017-11-22 00:20 246 查看

Python中flatten用法

原创 2014年04月16日 10:20:02

标签:

Python /

flatten

22667

一、用在数组

[python] view plain copy

>>> a = [[1,3],[2,4],[3,5]]

>>> a = array(a)

>>> a.flatten()

array([1, 3, 2, 4, 3, 5])

二、用在列表

如果直接用flatten函数会出错

[python] view plain copy

>>> a = [[1,3],[2,4],[3,5]]

>>> a.flatten()

Traceback (most recent call last):

File "<pyshell#10>", line 1, in <module>

a.flatten()

AttributeError: 'list' object has no attribute 'flatten'

正确的用法

[python] view plain copy

>>> a = [[1,3],[2,4],[3,5],["abc","def"]]

>>> a1 = [y for x in a for y in x]

>>> a1

[1, 3, 2, 4, 3, 5, 'abc', 'def']

或者(不理解)

[python] view plain copy

>>> a = [[1,3],[2,4],[3,5],["abc","def"]]

>>> flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x]

>>> flatten(a)

[1, 3, 2, 4, 3, 5, 'abc', 'def']

三、用在矩阵

[python] view plain copy

>>> a = [[1,3],[2,4],[3,5]]

>>> a = mat(a)

>>> y = a.flatten()

>>> y

matrix([[1, 3, 2, 4, 3, 5]])

>>> y = a.flatten().A

>>> y

array([[1, 3, 2, 4, 3, 5]])

>>> shape(y)

(1, 6)

>>> shape(y[0])

(6,)

>>> y = a.flatten().A[0]

>>> y

array([1, 3, 2, 4, 3, 5])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: