如何用python对一个数字列表求和

2024-05-14 11:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

所以首先,我需要从455111451到455112000的范围中提取数字。 我可以手动操作,我只需要50个号码,但这不是重点。

我试着:

for a in range(49999951,50000000):
print +str(a)

我该怎么办?


Tags: in重点forrange数字手动号码print
3条回答

sum是很明显的方法,但是如果你有一个很大的范围,并且要通过每次递增每个数字来计算总和可能需要一段时间,那么你可以用数学方法来代替(如sum_range所示):

start = 49999951
end = 50000000

total = sum(range(start, end))

def sum_range(start, end):
    return (end * (end + 1) / 2) - (start - 1) * start / 2

print total
print sum_range(start, end)

输出:

2449998775
2499998775

我不太明白你的问题 如果你想得到数字的和

sum = 0
for a in range(x,y):
    sum += a
print sum

如果要在列表中包含数字:

lst = []
for a in range(x,y):
    lst.append(a)
print lst

使用^{}

>>> sum(range(49999951,50000000))
2449998775L

它是一个builtin function,这意味着您不需要导入任何东西或做任何特殊的事情来使用它。在你来这里询问之前,你应该经常查阅文档或者教程,以防它已经存在——而且,StackOverflow还有一个搜索功能,可以帮助你找到问题的答案。


在本例中,^{}函数接受一个整数列表,并以如下类似的方式将它们递增地添加到彼此:

>>> total = 0
>>> for i in range(49999951,50000000):
    total += i

>>> total
2449998775L

同样-类似于^{}

>>> reduce(lambda x,y: x+y, range(49999951,50000000))
2449998775L

相关问题 更多 >

    热门问题