如何编写flatten
应该返回嵌套在可迭代对象中的每个值?
这是我要完成的示例:
for i in flatten([1, 2, [3, 4, (5, 6, 7), 8, 9], 10]):
print(i, end=' ')
预期输出:
1 2 3 4 5 6 7 8 9 10
如何编写flatten
应该返回嵌套在可迭代对象中的每个值?
这是我要完成的示例:
for i in flatten([1, 2, [3, 4, (5, 6, 7), 8, 9], 10]):
print(i, end=' ')
预期输出:
1 2 3 4 5 6 7 8 9 10
Python 2 用户对此任务有内置功能:
from compiler.ast import flatten
不幸的是,它已在 python 3 中被删除。你可以自己滚动:
from collections.abc import Iterable
def flatten(collection):
for x in collection:
if isinstance(x, Iterable) and not isinstance(x, (str, bytes)):
yield from flatten(x)
else:
yield x
具有奇怪限制的家庭作业问题需要有趣的答案
import re
def function(L):
return re.findall("[a-z0-9]+", repr(L))