【发布时间】:2012-09-10 19:39:32
【问题描述】:
今天是发电机。我今天看到一个question,它想找到一种方法来递归地展平列表而不使用循环和导入。 tobias_k 回复了如下代码:
def flatten(test_list):
if isinstance(test_list, list):
if len(test_list) == 0:
return []
first, rest = test_list[0], test_list[1:]
return flatten(first) + flatten(rest)
else:
return [test_list]
有没有办法创建一个生成器(保持规则:没有导入,循环)?
注意:这纯粹是教育性的。我知道这不是最好的主意,但不知道该怎么做。
【问题讨论】: