RxPY - Operadores matemáticos

média

Este operador irá calcular a média a partir da fonte observável dada e produzir um observável que terá o valor médio.

Sintaxe

average()

Valor de retorno

Ele retorna um observável que terá o valor médio.

Exemplo

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

Resultado

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

concat

Este operador pegará dois ou mais observáveis ​​e fornecerá um único observável com todos os valores na sequência.

Sintaxe

concat(observable1, observable2...)

Parâmetros

Observáveis: Lista de observáveis ​​a serem concatenados.

Valor de retorno

Um observável é retornado com um único valor mesclado dos valores do observável de origem.

Exemplo

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

Resultado

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

contagem

Este operador pega um observável com valores e o converte em um observável que terá um único valor. A função de contagem assume a função de predicado como um argumento opcional. A função é do tipo Boolean e adicionará valor à saída somente se atender à condição.

Sintaxe

count(predicate_function=None)

Parâmetros

A função de contagem assume a função de predicado como um argumento opcional. A função é do tipo Boolean e adicionará valor à saída somente se atender à condição.

Valor de retorno

Ele retornará um observável com um único valor, ou seja, a contagem da fonte observável.

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

Resultado

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

Exemplo 2: usando uma função de predicado

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

Resultado

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

max

Este operador fornecerá um observável com valor máximo da fonte observável.

Sintaxe

max(comparer_function=None)

Parâmetros

comparer_function: parâmetro opcional. Esta função é usada em observáveis ​​de origem para comparar valores.

Valor de retorno

Ele retorna um observável com valor máximo da fonte observável.

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

Resultado

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

Resultado

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

min

Este operador fornecerá um valor observável com valor mínimo da fonte observável.

Sintaxe

min(comparer_function=None)

Parâmetros

comparer_function: parâmetro opcional. Esta função é usada em observáveis ​​de origem para comparar valores.

Valor de retorno

Ele retorna um observável com valor mínimo da fonte observável.

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

Resultado

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

Exemplo 2: Usando 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)))

Resultado

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

reduzir

Este operador assume uma função chamada função acumuladora, que é usada nos valores provenientes do observável de origem, e retorna os valores acumulados na forma de um observável, com um valor semente opcional passado para a função acumuladora.

Sintaxe

reduce(accumulator_func, seed=notset)

Parâmetros

accumulator_func: Função que se utiliza sobre os valores provenientes da fonte observável e retorna os valores acumulados na forma de um observável.

seed:opcional. O valor padrão não está definido. É o valor inicial, a ser usado dentro da função de acumulador.

Valor de retorno

Ele retorna um observável, com um único valor como saída da função acumuladora aplicada em cada valor da fonte observável.

Exemplo

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

Resultado

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

soma

Este operador retornará um observável com a soma de todos os valores dos observáveis ​​de origem.

Sintaxe

sum(key_mapper=none)

Parâmetros

key_mapper: opcional. Esta é a função aplicada aos valores provenientes da fonte observável.

Valor de retorno

Ele retorna um observável com a soma de todos os valores da fonte observável.

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

Resultado

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

Exemplo 2: usando a função 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 a função key_mapper, estamos adicionando todos os valores por 1 e obtendo a soma deles.

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