RxPY - Operatori matematici
media
Questo operatore calcolerà la media dalla sorgente osservabile data e produrrà un osservabile che avrà il valore medio.
Sintassi
average()
Valore di ritorno
Restituisce un osservabile che avrà il valore medio.
Esempio
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.average()
)
sub1.subscribe(lambda x: print("Average is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
Average is 5.5
concat
Questo operatore prenderà due o più osservabili e darà un singolo osservabile con tutti i valori nella sequenza.
Sintassi
concat(observable1, observable2...)
Parametri
Osservabili: elenco di osservabili da concatenare.
Valore di ritorno
Viene restituito un osservabile con un singolo valore unito ai valori della sorgente osservabile.
Esempio
testrx.py
from rx import of, operators as op
test = of(2, 4, 6, 8, 10)
test2 = of(3,6,9,12,15)
sub1 = test.pipe(
op.concat(test2)
)
sub1.subscribe(lambda x: print("Final value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
Final value is 2
Final value is 4
Final value is 6
Final value is 8
Final value is 10
Final value is 3
Final value is 6
Final value is 9
Final value is 12
Final value is 15
contare
Questo operatore accetta un osservabile con valori e lo converte in un osservabile che avrà un unico valore. La funzione count accetta la funzione predicato come argomento opzionale. La funzione è di tipo Boolean e aggiungerà valore all'output solo se soddisfa la condizione.
Sintassi
count(predicate_function=None)
Parametri
La funzione count accetta la funzione predicato come argomento opzionale. La funzione è di tipo Boolean e aggiungerà valore all'output solo se soddisfa la condizione.
Valore di ritorno
Restituirà un osservabile con un unico valore, cioè il conteggio dalla sorgente osservabile.
Esempio 1
from rx import of, operators as op
test = of(1,2,3, 4,5, 6,7, 8,9, 10)
sub1 = test.pipe(
op.count()
)
sub1.subscribe(lambda x: print("The count is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The count is 10
Esempio 2: utilizzo di una funzione predicato
from rx import of, operators as op
test = of(1,2,3, 4,5, 6,7, 8,9, 10)
sub1 = test.pipe(
op.count(lambda x : x %2 == 0)
)
sub1.subscribe(lambda x: print("The count of even numbers is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The count of even numbers is 5
max
Questo operatore darà un osservabile con il valore massimo dalla sorgente osservabile.
Sintassi
max(comparer_function=None)
Parametri
comparer_function: parametro opzionale. Questa funzione viene utilizzata sulle sorgenti osservabili per confrontare i valori.
Valore di ritorno
Restituisce un osservabile con valore massimo dalla sorgente osservabile.
Esempio 1
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.max()
)
sub1.subscribe(lambda x: print("Max value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
Max value is 280
Example 2: comparer_function
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.max(lambda a, b : a - b)
)
sub1.subscribe(lambda x: print("Max value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
Max value is 280
min
Questo operatore darà un osservabile con valore minimo dalla sorgente osservabile.
Sintassi
min(comparer_function=None)
Parametri
comparer_function: parametro opzionale. Questa funzione viene utilizzata sulle sorgenti osservabili per confrontare i valori.
Valore di ritorno
Restituisce un osservabile con valore minimo dalla sorgente osservabile.
Esempio 1
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.min()
)
sub1.subscribe(lambda x: print("Min value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
Min value is 12
Esempio 2: utilizzo di comparer_function
from rx import of, operators as op
test = of(12,32,41,50,280,250)
sub1 = test.pipe(
op.min(lambda a, b : a - b)
)
sub1.subscribe(lambda x: print("Min value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
Min value is 12
ridurre
Questo operatore accetta una funzione chiamata funzione accumulator, che viene utilizzata sui valori provenienti dalla sorgente osservabile, e restituisce i valori accumulati sotto forma di osservabile, con un valore seed opzionale passato alla funzione accumulator.Sintassi
reduce(accumulator_func, seed=notset)
Parametri
accumulator_func: Una funzione che viene utilizzata sui valori provenienti dalla sorgente osservabile e restituisce i valori accumulati sotto forma di osservabile.
seed:opzionale. Il valore predefinito non è impostato. È il valore iniziale, da utilizzare all'interno della funzione accumulatore.
Valore di ritorno
Restituisce un osservabile, con un unico valore come output dalla funzione accumulatore applicato su ogni valore della sorgente osservabile.
Esempio
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.reduce(lambda acc, x: acc + x)
)
sub1.subscribe(lambda x: print("The value is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The value is 55
somma
Questo operatore restituirà un osservabile con la somma di tutti i valori delle osservabili di origine.
Sintassi
sum(key_mapper=none)
Parametri
key_mapper: opzionale. Questa è la funzione, che viene applicata ai valori provenienti dalla sorgente osservabile.
Valore di ritorno
Restituisce un osservabile con la somma di tutti i valori osservabili dalla sorgente.
Esempio 1
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.sum()
)
sub1.subscribe(lambda x: print("The sum is {0}".format(x)))
Produzione
E:\pyrx>python testrx.py
The sum is 55
Esempio 2: utilizzo della funzione key_mapper
from rx import of, operators as op
test = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sub1 = test.pipe(
op.sum(lambda a: a+1)
)
sub1.subscribe(lambda x: print("The sum is {0}".format(x)))
Usando la funzione key_mapper, stiamo aggiungendo tutti i valori per 1 e ottenendo la somma di esso.
E:\pyrx>python testrx.py
The sum is 65