将列表列表一起加入Python中的一个列表 [英] Join a list of lists together into one list in Python

查看:127
本文介绍了将列表列表一起加入Python中的一个列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
用Python整理的(不规则的)列表列表

Possible Duplicate:
Flatten (an irregular) list of lists in Python

我有一个包含许多列表的列表.这是一个例子,

I have a list which consists of many lists. Here is an example,

[
    [Obj, Obj, Obj, Obj],
    [Obj],
    [Obj],
    [
        [Obj,Obj],
        [Obj,Obj,Obj]
    ]
]

是否有一种方法可以将所有这些项目作为一个列表连接在一起,所以输出将类似于

Is there a way to join all these items together as one list, so the output will be something like

[Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj]

推荐答案

是的,这是一种方法做到:

def flatten(lst):
    for elem in lst:
        if type(elem) in (tuple, list):
            for i in flatten(elem):
                yield i
        else:
            yield elem

请注意,这将创建一个生成器,因此,如果需要列表,请将其包装在list()中:

Please note, this creates a generator, so if you need a list, wrap it in list():

flattenedList = list(flatten(nestedList))

这篇关于将列表列表一起加入Python中的一个列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆