Sum () в питоне - PullRequest
       5

Sum () в питоне

4 голосов
/ 15 мая 2011

Я пытался чувствовать себя комфортно с sum () в python, я понимал основную функцию sum, но, как математический фон, мне было просто интересно узнать, можем ли мы использовать sum в python таким же образом, как мыНапример, в Mathematica рассмотрим этот модуль Mathematica:

Sq[a_, b_] := Module[{m, n}, m = Max[a, b]; n = Min[a, b];Sum[(m - r + 1) (n - r + 1), {r, 1, n}]]

Теперь, можно ли написать такую ​​сумму?Я имею в виду:

Sum[(m - r + 1) (n - r + 1), {r, 1, n}]

Пытаясь скрыть это в python, я думаю о чем-то вроде этого:

sum((m - r + 1) (n - r + 1) in xrange(1,n+1)) 

, но, похоже, не работает!так что мой вопрос, как заставить его работать?

1 Ответ

13 голосов
/ 15 мая 2011
sum((m - r + 1) * (n - r + 1) for r in xrange(1,n+1))
  1. Там нет неявного умножения между целыми числами, поэтому вам нужно *.
  2. f(x) for x in xes - это общий формат понимания списка, в котором вы хотите, чтобы x перебирал каждый элемент xes и возвращал значение f(x).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...