我在Python中寻找等效的.NET Linq IEnumerable.Single(predicate)
函数。
https://msdn.microsoft.com/en-us/library/bb535118(v=vs.110).aspx
它应该从enumerable / iterable中返回一个满足条件的元素,如果没有这样的元素就抛出异常。
我知道它可以很容易地手工编码,但我正在寻找内置的东西。
答案 0 :(得分:1)
filter
方法做了类似的事情。
它返回一个迭代器,它生成满足函数定义的条件的所有元素。在其上调用next
将获得第一个元素。如果没有,则会引发StopIteration
异常。
data = [1, 3, 10, 5, 8]
condition_func = lambda x : x > 10
first_value = next(filter(condition_func, data))