RxPY – Combining Operators
RxPY – Combination Operators
combine_latest
This operator creates a tuple from the observables it takes as input.
Syntax
combine_latest(observable1,observable2,.....)
Parameters
Observable: An observable.
Return Value
It returns an observable with the source observable’s value converted into a tuple.
Example
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
test2 = of(11,12,13,14,15,16)
test3 = of(111,112,113,114,115,116)
sub1 = test.pipe(
op.combine_latest(test2, test3)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Output
E:pyrx>python testrx.py
The value is (6, 16, 111)
The value is (6, 16, 112)
The value is (6, 16, 113)
The value is (6, 16, 114)
The value is (6, 16, 115)
The value is (6, 16, 116)
merge
This operator merges the given observations.
Syntax
merge(observable)
Parameters
Observer: An Observable.
Return Value
This returns an observable with a sequence from the given observable.
Example
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
test2 = of(11,12,13,14,15,16)
sub1 = test.pipe(
op.merge(test2)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Output
E:pyrx>python testrx.py
The value is 1
The value is 2
The value is 3
The value is 4
The value is 5
The value is 6
The value is 11
The value is 12
The value is 13
The value is 14
The value is 15
The value is 16
start_with
This operator takes the given values, adds them to the beginning of the source observable, and then returns the complete sequence.
Syntax
start_with(values)
Parameters
Values: The value you want to prefix at the beginning.
Return Value
It returns an observable with the given value prefixed at the beginning, followed by the value of the source observable.
Example
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
sub1 = test.pipe(
op.start_with(-2,-1,0)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))xExample
Output
E:pyrx>python testrx.py
The value is -2
The value is -1
The value is 0
The value is 1
The value is 2
The value is 3
The value is 4
The value is 5
The value is 6
zip
This operator returns an observable with a tuple of values, consisting of the first value of the given observable, and so on.
Syntax
zip(observable1, observable2...)
Parameters
Observer: An Observable
Return Value
It returns an observable with a tuple of values.
Example
from rx import of, operators as op
from datetime import date
test = of(1,2,3,4,5,6)
test1 = of(4,8,12,16,20)
test2 = of(5,10,15,20,25)
sub1 = test.pipe(
op.zip(test1, test2)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Output
E:pyrx>python testrx.py
The value is (1, 4, 5)
The value is (2, 8, 10)
The value is (3, 12, 15)
The value is (4, 16, 20)
The value is (5, 20, 25)