有没有更快的方法来总结Python中的算术数字序列?

MyN*_*han 0 python

total = 0
for i in range(0, some upper bound):
    total += i
Run Code Online (Sandbox Code Playgroud)

对不起,如果这是基本的,但我有很多这些,他们占用的空间比舒适.

eum*_*iro 14

total = sum(range(upper))
Run Code Online (Sandbox Code Playgroud)

要么

total = upper * (upper - 1) / 2
Run Code Online (Sandbox Code Playgroud)

第一个是Python,第二个是高斯.

编辑:当不从零开始时:

total = sum(range(lower, upper))
Run Code Online (Sandbox Code Playgroud)

或者,再次根据高斯,做同样的upper和减去相同的lower:

total = upper * (upper - 1) / 2 - lower * (lower - 1) / 2
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Python 2.x,请将其全部替换rangexrange.