Python Memory Error while iterating to a big range

后端 未结 3 2059
栀梦
栀梦 2021-01-14 23:44
total = 0
x = 2**32
for i in range(x):
    total = total + i;
print(total) 

I am getting a MemoryError<

3条回答
  •  死守一世寂寞
    2021-01-15 00:23

    1. range creates a list in memory. Use xrange to get a generator object which gives you one number in a time.

    2. There are better ways to sum a range of numbers from 1 to n, for example (n(n+1))/2.

提交回复
热议问题