python3 列表扁平化

2021/8/17 11:06:23

本文主要是介绍python3 列表扁平化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

参考:https://www.cnblogs.com/traditional/p/12422934.html

使用 yield

yield 返回的是一个迭代器,所以要用列表推导式将所有元素提取到列表中去。

def flatten(l: list)-> iter:
    """将列表扁平化"""
    for _ in l:
        if isinstance(_, list):
            yield from flatten(_)
        else:
            yield _

>>> list1 = [1,2,3,[33,41,331,4,1,[1,2,3],3,[1]]]
>>> list2 = [_ for _ in flatten(list1)]
>>> list2
[1, 2, 3, 33, 41, 331, 4, 1, 1, 2, 3, 3, 1]


这篇关于python3 列表扁平化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程