首页 > 后端开发 > Python教程 > 如何在 Python 中有效地展平嵌套列表?

如何在 Python 中有效地展平嵌套列表?

Susan Sarandon
发布: 2024-12-31 03:09:10
原创
423 人浏览过

How Can I Efficiently Flatten a Nested List in Python?

展平列表列表

问题陈述:

你有一个嵌套列表,需要将其展平为一个列表。例如,您有一个列表列表,例如:

[[1, 2, 3],
[4, 5, 6],
[7],
[8, 9]]
登录后复制

目标是将这个结构展平为单个列表:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
登录后复制

解决方案:

要展平列表列表,您可以使用嵌套列表理解。此技术涉及迭代每个内部列表(在代码中由 xs 表示)并将每个单独的元素(由 x 表示)附加到展平列表(名为 flat_list):

flat_list = [
    x
    for xs in xss
    for x in xs
]
登录后复制

这相当于以下内容使用嵌套循环显式迭代:

flat_list = []

for xs in xss:
    for x in xs:
        flat_list.append(x)
登录后复制

或者,您可以创建一个函数来执行此扁平化操作:

def flatten(xss):
    return [x for xs in xss for x in xs]
登录后复制

使用此函数,您可以按如下方式展平输入列表:

flat_list = flatten([[1, 2, 3],
                   [4, 5, 6],
                   [7],
                   [8, 9]])
登录后复制

这种方法效率很高,并且性能明显优于其他方法,例如使用或减少。列表理解技术确保每个元素仅复制到展平列表一次。

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

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