1

我正在使用以下代码来查找素数列表,但我还需要能够找到所创建列表的乘积。我不知道从哪里开始。

def list_of_primes(x):
    primes = [2, 3]

    n = primes[-1] + 2

    while len(primes) < x:
        for p in primes:
            if n % p == 0:
                break
        else:
            primes.append(n)

        n += 2

    return (primes)
4

1 回答 1

2

您可以维护一个存储正在运行的产品的变量,也可以执行类似的操作

reduce(operator.mul, primes)  # product of elements in `primes`

reduce与 一起使用operator.mul

在性能方面,对于任何合理大小的列表,您不应该看到这两种方法之间存在很大差距;你应该使用在你的程序上下文中更有意义的那个。

于 2013-06-25T03:15:13.253 回答