今天是发电机。我今天看到一个问题,想找到一种方法来递归地展平列表而不使用循环和导入。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]
有没有办法创建一个生成器(保持规则:没有导入,循环)?
注意:它纯粹是教育性的。我知道这不是最好的主意,但不知道该怎么做。