Подтвердить что ты не робот

Более быстрый способ суммировать список чисел, чем с циклом for-loop?

Есть ли способ суммировать список чисел быстрее, чем при использовании for-loop, возможно, в библиотеке Python? Или что-то действительно только многопоточная/векторная обработка может эффективно работать?

Изменить: просто для уточнения, это может быть список любых чисел, несортированный, просто ввод от пользователя.

4b9b3361

Ответ 1

Вы можете использовать sum() для суммирования значений массива.

a = [1,9,12]
print sum(a)

Ответ 2

Еще один способ подвести список с циклом:

    s = reduce(lambda x, y: x + y, l)

Ответ 3

Если каждый член в списке просто увеличивается на 1, или если вы можете найти шаблон в серии, вы можете найти формулу для суммирования n условий. Например, сумма рядов {1,2,3,..., n} = n (n + 1)/2

Подробнее здесь

Ответ 4

Ну, я не знаю, быстрее ли это, но вы можете попробовать небольшое исчисление, чтобы сделать его одной операцией. (N * (N + 1))/2 дает вам сумму каждого числа от 1 до N и существуют другие формулы для решения более сложных сумм.

Ответ 5

Для общего списка вы должны хотя бы раз переходить к каждому члену, чтобы получить сумму, что и делает цикл for. Использование библиотечных API (например, sum) более удобно, но я сомневаюсь, что это будет быстрее.