python平铺多维列表

平铺一个多维列表 两种方式

    1. 使用包
    sftpusers =  [[1,2,3],['a','abc']]
    from itertools import chain
    list(chain(*sftpusers))

    2. 自己实现
    def flat_gen(x):
        def iselement(e):
            return not(isinstance(e, collections.Iterable) and not isinstance(e, str))
        for el in x:
            if iselement(el):
                yield el
            else:
                yield from flat_gen(el)
posted @ 2019-09-03 17:27  juila  阅读(724)  评论(0编辑  收藏  举报