【发布时间】:2019-01-10 15:43:10
【问题描述】:
我正在尝试弄清楚如何过滤元组中的元组 像这样:
input>>>filter_tree((1,2,3,4,(1,2,3)),lambda x:x%2==0)
output>>> ((2,4,(2))
这是我走了多远:
def filter_tree(tree,f):
if type(tree)!=tuple:
return tree
return tuple(filter(f,tuple(filter_tree(node,f) for node in tree)))
当元组中没有元组时它可以工作,而且我不知道我需要更改什么才能使其工作(我必须只使用递归)。 有人有想法吗?
【问题讨论】:
-
是否保证数据项中没有列表、集合或其他可迭代对象?如果没有,返回的项目是否需要重复这些结构,还是可以只使用元组?返回的项目中是否可以接受列表而不是元组? (最后一个可能会使问题更容易一些。)
-
保证它只接受元组,不接受列表或类似的东西。是的,它必须返回一个元组
标签: python recursion filter tuples