编程语言
首页 > 编程语言> > Python-数字和

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]

标签:loops,for-loop,python
来源: https://codeday.me/bug/20191209/2097267.html