如何在 Python 中从列表推导式展平嵌套列表?

DDD
发布: 2024-11-14 11:07:02
原创
835 人浏览过

How to Flatten Nested Lists from List Comprehensions in Python?

扁平化列表理解的结果

在 Python 中,使用列表理解将函数应用于列表的每个元素可能会导致嵌套列表。例如,考虑一个列表 A 和一个将 A 的每个元素转换为列表的函数 f,列表推导式 [f(a) for a in A] 会生成一个列表列表。

要获得一个扁平化的列表,与函数式编程的“flatmap”或.NET 的“SelectMany”运算符不同,可以在列表中引入嵌套理解:

<code class="python">[filename for path in dirs for filename in os.listdir(path)]</code>
登录后复制

这在功能上等同于以下使用多个嵌套循环的代码:

<code class="python">filenames = []
for path in dirs:
    for filename in os.listdir(path):
        filenames.append(filename)</code>
登录后复制

采用这种方法可确保生成一个平面列表,其中元素通过以下方式获取首先迭代外部列表 dirs,然后将函数 f 返回的内部列表应用于 dirs 中的每个元素。

以上是如何在 Python 中从列表推导式展平嵌套列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板