那么我将如何使用 RxPY 在 Python 中完成上述工作?特别是,查询q = from x in xs where...
不是语法上有效的 Python 代码——那么如何改变呢?
问问题
1424 次
2 回答
3
C# 中的所有 LINQ 查询都可以轻松转换为扩展方法(where
is forWhere
和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
于 2015-12-19T07:22:08.800 回答
0
您显示的图片包含 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。
于 2017-04-16T08:08:49.907 回答