C# LINQ Single()函数的Python等价物?

C# LINQ Single()函数的Python等价物?,c#,python,python-2.7,python-3.x,linq,C#,Python,Python 2.7,Python 3.x,Linq,我正在寻找Python中与.NET LinqIEnumerable.Single(谓词)函数等价的函数 它应该只从enumerable/iterable返回一个满足条件的元素,如果没有一个这样的元素,则抛出异常 我知道它可以很容易地手工编码,但我正在寻找内置的东西。过滤方法也有类似的功能。 它返回一个迭代器,该迭代器生成满足函数定义的条件的所有元素。对其调用next将获得第一个元素。如果没有,将引发StopIteration异常 data = [1, 3, 10, 5, 8] conditio

我正在寻找Python中与.NET Linq
IEnumerable.Single(谓词)
函数等价的函数

它应该只从enumerable/iterable返回一个满足条件的元素,如果没有一个这样的元素,则抛出异常


我知道它可以很容易地手工编码,但我正在寻找内置的东西。

过滤方法也有类似的功能。 它返回一个迭代器,该迭代器生成满足函数定义的条件的所有元素。对其调用
next
将获得第一个元素。如果没有,将引发
StopIteration
异常

data = [1, 3, 10, 5, 8]
condition_func = lambda x : x > 10

first_value = next(filter(condition_func, data))

为什么要关注过滤器?下一步适用于每个可迭代对象。此外,这也不完全符合Single的功能-当多个项目与谓词匹配时会引发异常。那么您将如何应用条件函数?这个问题可能会有所帮助: