2013-06-25 113 views
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) 

回答

2

您可以维护存储运行产品变量或做类似

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

(使用reduceoperator.mul

性能明智的,你不应该看这两种方法对于任何合理大小的清单之间存在很大差距;您应该在程序的上下文中使用更有意义的内容。