我正在尝试编写一个只使用lambda、filter、map和reduce (这是一个谜)的代码,它接受一个整数元组和一个函数元组,并返回一个新的整数元组,这些整数元组只返回函数列表中的一个 true:
举个例子,如果元组是(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
,函数元组是(lambda x: x > 3, lambda x: x % 2 == 0)
,我应该得到一个类似[2, 5, 7, 9]
的新元组,因为它们只使两条规则中的一条返回True。这是我到目前为止的代码,我不知道该怎么做……
func = (lambda x: x > 3, lambda x: x % 2 == 0)
data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
a = lambda func, data: tuple(filter(lambda x: tuple(filter(None, map(lambda f: f(x), func))), data))
print(a(func, data))
这段代码只返回适用于这两个术语的整数,但我只需要将其转换为one。
https://stackoverflow.com/questions/53715351
复制相似问题