您好我正在使用python中的嵌套列表,发现这是一个大问题。我知道我们应该使用递归函数但无法继续...
答案 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]