2016-11-25 2 views
-2

Это моя функция

def add(x, y): 
    return x+y 

Это уменьшить Номер функции

reduce(add, range(1, 11)) 
+1

[Уменьшить функцию с тремя параметрами] (http://stackoverflow.com/questions/19589233/reduce-function-with-three-parameters) – blacksite

ответ

0

На первом итерации, уменьшить занимает первые два значения в последовательности, и они подаются в функцию в качестве первого и вторых позиционных аргументов. Возвращаемое значение функции затем становится первым аргументом positional для следующей итерации, а второй позиционный аргумент является следующим элементом в последовательности. Единственный элемент управления, который у вас есть, - это то, как вы используете значения в своей функции.

>>> def f(a,b): 
    return a-b 

>>> def g(a,b): 
    return b-a 

>>> reduce(f, range(5)) 
-10 
>>> reduce(g, range(5)) 
2 
>>> 

Если вы используете встроенные функции, у вас нет контроля.