如何在 Python 中使用 Reactive Extensions (Rx) LINQ?
How to use Reactive Extensions (Rx) LINQ in Python?
我下载RxPY and was watching the Rx tutorials的时候遇到:
那么我如何使用 RxPY 在 Python 中实现上述功能?特别是,查询 q = from x in xs where...
在句法上不是有效的 Python 代码——那么这将如何更改?
C# 中的所有 LINQ 查询都可以轻松转换为扩展方法 (where
is for Where
, and select
is for Select
):
In [20]: from rx import Observable
In [21]: xs = Observable.range(1, 10)
In [22]: q = xs.where(lambda x: x % 2 == 0).select(lambda x: -x)
In [23]: q.subscribe(print)
-2
-4
-6
-8
-10
您也可以使用 filter
代替 where
和 map
代替 select
:
In [24]: q = xs.filter(lambda x: x % 2 == 0).map(lambda x: -x)
In [25]: q.subscribe(print)
-2
-4
-6
-8
-10
您显示的图片包含 C# 代码,而不是 Python。
在 Python 中将如下所示:
from rx import Observable
xs = Observable.range(1, 10)
q = xs.filter(lambda x: x % 2 == 0).map(lambda x: -x)
q.subscribe(print)
一般文档可以在 http://reactivex.io 的文档部分找到。
Python 特定文档位于 https://github.com/ReactiveX/RxPY/blob/master/README.md.
我下载RxPY and was watching the Rx tutorials的时候遇到:
那么我如何使用 RxPY 在 Python 中实现上述功能?特别是,查询 q = from x in xs where...
在句法上不是有效的 Python 代码——那么这将如何更改?
C# 中的所有 LINQ 查询都可以轻松转换为扩展方法 (where
is for Where
, and select
is for Select
):
In [20]: from rx import Observable
In [21]: xs = Observable.range(1, 10)
In [22]: q = xs.where(lambda x: x % 2 == 0).select(lambda x: -x)
In [23]: q.subscribe(print)
-2
-4
-6
-8
-10
您也可以使用 filter
代替 where
和 map
代替 select
:
In [24]: q = xs.filter(lambda x: x % 2 == 0).map(lambda x: -x)
In [25]: q.subscribe(print)
-2
-4
-6
-8
-10
您显示的图片包含 C# 代码,而不是 Python。 在 Python 中将如下所示:
from rx import Observable
xs = Observable.range(1, 10)
q = xs.filter(lambda x: x % 2 == 0).map(lambda x: -x)
q.subscribe(print)
一般文档可以在 http://reactivex.io 的文档部分找到。 Python 特定文档位于 https://github.com/ReactiveX/RxPY/blob/master/README.md.