Python中flatten用法
Posted 吃饭了吗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中flatten用法相关的知识,希望对你有一定的参考价值。
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()
- >>> 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])
以上是关于Python中flatten用法的主要内容,如果未能解决你的问题,请参考以下文章
114 Flatten Binary Tree to Linked List [Python]
python to flatten dhrp / sshd:sudo python flatten.py 2bbfe079a94259b229ae66962d9d06b97fcdce7a5449775