Python相当于LINQ Single()函数?

时间:2017-10-23 10:14:42

标签: c# python python-2.7 python-3.x linq

我在Python中寻找等效的.NET Linq IEnumerable.Single(predicate)函数。

https://msdn.microsoft.com/en-us/library/bb535118(v=vs.110).aspx

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

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

1 个答案:

答案 0 :(得分:1)

filter方法做了类似的事情。 它返回一个迭代器,它生成满足函数定义的条件的所有元素。在其上调用next将获得第一个元素。如果没有,则会引发StopIteration异常。

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

first_value = next(filter(condition_func, data))