RxPY - Opérateurs mathématiques

moyenne

Cet opérateur calculera la moyenne à partir de la source observable donnée et produira une observable qui aura la valeur moyenne.

Syntaxe

average()

Valeur de retour

Il renvoie une observable qui aura la valeur moyenne.

Exemple

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)))

Production

E:\pyrx>python testrx.py
Average is 5.5

concat

Cet opérateur prendra deux ou plusieurs observables et donnera une seule observable avec toutes les valeurs de la séquence.

Syntaxe

concat(observable1, observable2...)

Paramètres

Observables: Liste des observables à concaténer.

Valeur de retour

Une observable est renvoyée avec une valeur unique fusionnée à partir des valeurs de l'observable source.

Exemple

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)))

Production

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

compter

Cet opérateur prend dans une observable avec des valeurs et la convertit en une observable qui aura une valeur unique. La fonction de comptage prend la fonction de prédicat comme argument facultatif. La fonction est de type Boolean et ajoutera de la valeur à la sortie uniquement si elle remplit la condition.

Syntaxe

count(predicate_function=None)

Paramètres

La fonction de comptage prend la fonction de prédicat comme argument facultatif. La fonction est de type Boolean et ajoutera de la valeur à la sortie uniquement si elle remplit la condition.

Valeur de retour

Il renverra une observable avec une seule valeur, c'est-à-dire le décompte de l'observable source.

Exemple 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)))

Production

E:\pyrx>python testrx.py
The count is 10

Exemple 2: Utilisation d'une fonction de prédicat

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)))

Production

E:\pyrx>python testrx.py
The count of even numbers is 5

max

Cet opérateur donnera une observable avec une valeur max à partir de l'observable source.

Syntaxe

max(comparer_function=None)

Paramètres

comparer_function: paramètre facultatif. Cette fonction est utilisée sur les observables source pour comparer les valeurs.

Valeur de retour

Il renvoie une observable avec une valeur maximale de l'observable source.

Exemple 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)))

Production

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)))

Production

E:\pyrx>python testrx.py
Max value is 280

min

Cet opérateur donnera une observable avec une valeur min à partir de l'observable source.

Syntaxe

min(comparer_function=None)

Paramètres

comparer_function: paramètre facultatif. Cette fonction est utilisée sur les observables source pour comparer les valeurs.

Valeur de retour

Il renvoie une observable avec une valeur min à partir de l'observable source.

Exemple 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)))

Production

E:\pyrx>python testrx.py
Min value is 12

Exemple 2: Utilisation de 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)))

Production

E:\pyrx>python testrx.py
Min value is 12

réduire

Cet opérateur prend dans une fonction appelée fonction d'accumulateur, qui est utilisée sur les valeurs provenant de l'observable source, et il retourne les valeurs accumulées sous la forme d'une observable, avec une valeur de départ optionnelle passée à la fonction d'accumulateur.

Syntaxe

reduce(accumulator_func, seed=notset)

Paramètres

accumulator_func: Une fonction qui est utilisée sur les valeurs provenant de l'observable source et qui retourne les valeurs accumulées sous la forme d'une observable.

seed:optionnel. La valeur par défaut n'est pas définie. C'est la valeur initiale, à utiliser dans la fonction d'accumulateur.

Valeur de retour

Il renvoie une observable, avec une valeur unique en sortie de la fonction d'accumulateur appliquée sur chaque valeur de l'observable source.

Exemple

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)))

Production

E:\pyrx>python testrx.py
The value is 55

somme

Cet opérateur renverra une observable avec la somme de toutes les valeurs des observables source.

Syntaxe

sum(key_mapper=none)

Paramètres

key_mapper: facultatif. C'est la fonction, qui est appliquée aux valeurs provenant de l'observable source.

Valeur de retour

Il renvoie une observable avec la somme de toutes les valeurs de l'observable source.

Exemple 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)))

Production

E:\pyrx>python testrx.py
The sum is 55

Exemple 2: utilisation de la fonction 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)))

En utilisant la fonction key_mapper, nous ajoutons toutes les valeurs par 1 et en obtenons la somme.

E:\pyrx>python testrx.py
The sum is 65