Py100Skills

[Py001]list降维

2018-09-22  本文已影响69人  安哥生个信

​ A =[[1, 2, 3], [4, 5, 6, [4, 5, 6]]]

​ 需要将多维数组降至一维

​ [1,2,3,4,5,6,4,5,6]

递归

这个是抄袭网上的idea,忘了出处

def traverseList(nestList):
    '''
    将多维list转换为一维list
    '''
    flatList = []
    for item in nestList:
        if isinstance(item, list):
            flatList.extend(traverseList(item))
        else:
            flatList.append(item)
    return flatList

如果最终希望获得的是去重后的list,可以通过set处理

traverseList(A)
Out[11]: 
[1, 2, 3, 4, 5, 6, 4, 5, 6]
list(set(traverseList(A)))
Out[12]: 
[1, 2, 3, 4, 5, 6]
上一篇 下一篇

猜你喜欢

热点阅读