在Python中,内置"任何"和#34;所有"如果iterable中的任何元素为true,或者iff中的所有元素都为true,则函数返回true。例如:
any([False, False, False]) # evaluates to False
any([False, False, True]) # evaluates to True
all([True, True, False]) # evaluates to False
all([True, True, True]) # evaluates to True
Swift中有这样的东西吗?如果没有,那么实现相同结果的最简洁方法是什么?我想出的最好的是:
elements.reduce(true, {x, y in x && y}) // for "all"
elements.reduce(false, {x, y in x || y}) // for "any"
答案 0 :(得分:3)
let any = elements.contains(true)
let all = !elements.contains(false)
Swift使用contains(where:)
扩展它,您可以使用它来评估任何谓词。