Python-数字和

我试图将所有数字加总到一个范围,而所有数字加到同一范围.

我正在使用python

limit = 10
sums = []
for x in range(1,limit+1):
    for y in range(1,limit+1):
        sums.append(x+y)

但是,由于嵌套循环的缘故,这很好用,如果限制太大,将需要大量时间来计算总和.

有没有嵌套循环的方法吗?

(这只是我解决ProjectEuler问题所需做的事情的简化.它涉及获得所有大量数字的总和.)

解决方法:

[x + y for x in xrange(limit + 1) for y in xrange(x + 1)]

它仍然执行同样多的计算,但是速度大约是for循环的两倍.

from itertools import combinations

(a + b for a, b in combinations(xrange(n + 1, 2)))

这样避免了很多重复的款项.我不知道您是否要跟踪这些.

如果您只希望每笔款项都没有表示如何获得,那么xrange(2 * n 2)
完全没有重复或循环,为您提供所需的内容.

回答问题:

 [x + y for x in set set1 for y in set2]
上一篇:README.old


下一篇:【Coel.学习笔记】大步小步算法(Baby Step Giant Step)