【发布时间】:2014-01-25 21:58:52
【问题描述】:
我已经让这个函数在没有列表理解的情况下工作,但是,我想知道如何使用它来完成它:
def flatten(L):
a_list = []
for i in L:
if isinstance(i, list):
gl = flatten(i)
for n in gl:
a_list.append(n)
else:
a_list.append(i)
return a_list
# This is how I've attempted to use list comprehension, but I get a Syntax
# error and I'm not sure why.
return [n for n in flatten(i) if isinstance(i, list) else i for i in L]
【问题讨论】:
-
强制性问题:错误是什么?
-
这是一个语法错误,因为他试图做
[n for n in flatten(i)],但如果isinstance(i,list)为假,则做[i for i in L]
标签: python list recursion list-comprehension