首页 > 后端开发 > Python教程 > 如何在 Python 中从列表推导式展平嵌套列表?

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

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

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板