如何从嵌套列表中分离元素?例如; - [1,[2,3]],我需要1,2,3打印..?

时间:2011-08-12 08:35:42

标签: python

  

可能重复:
  Flatten (an irregular) list of lists in Python

您好我正在使用python中的嵌套列表,发现这是一个大问题。我知道我们应该使用递归函数但无法继续...

2 个答案:

答案 0 :(得分:1)

如果列表列表-e.g max depth为1,则可以使用以下代码:

lVals = [1,[2,3]]

res = []
for i in lVals:
    if isinstance(i, list):
        res.extend(i)
    else:
        res.append(i)

print res
>>> [1,2,3]

答案 1 :(得分:0)

def flatten(li):
    if not isinstance(li, list):
        return [li]
    rv = []
    for ll in li:
        rv.extend(flatten(ll))
    return rv


print flatten([1,2,3,4])
print flatten([1,[2,3],3,4])
print flatten([1,[2,[3,4,5]],3,4])
print flatten([1,[2,[3,4,5]],3,[]])

给出

[1, 2, 3, 4]
[1, 2, 3, 3, 4]
[1, 2, 3, 4, 5, 3, 4]
[1, 2, 3, 4, 5, 3]