Python中flatten用法

来源:互联网 发布:音乐软件市场调研报告 编辑:程序博客网 时间:2024/06/18 04:58


Python中flatten用法,有需要的朋友可以参考下。




一、用在数组 

>>> a = [[1,3],[2,4],[3,5]]>>> a = array(a)>>> a.flatten()array([1, 3, 2, 4, 3, 5])



二、用在列表 


如果直接用flatten函数会出错


>>> 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'


正确的用法


>>> 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']


或者(不理解)


>>> 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']



三、用在矩阵 
>>> a = [[1,3],[2,4],[3,5]]>>> a = mat(a)>>> y = a.flatten()>>> ymatrix([[1, 3, 2, 4, 3, 5]])>>> y = a.flatten().A>>> yarray([[1, 3, 2, 4, 3, 5]])>>> shape(y)(1, 6)>>> shape(y[0])(6,)>>> y = a.flatten().A[0]>>> yarray([1, 3, 2, 4, 3, 5])
原文网址:

Python中flatten用法,有需要的朋友可以参考下。

1 0
原创粉丝点击