在Python中计算素数之和-这行代码的用途是什么?
我有一个简短的函数,它将计算所有素数的总和,直到一个极限。以下是上下文的完整代码:在Python中计算素数之和-这行代码的用途是什么?,python,calculator,Python,Calculator,我有一个简短的函数,它将计算所有素数的总和,直到一个极限。以下是上下文的完整代码: def primes_sum(limit): limitn = limit+1 not_prime = [False] * limitn primes = [] for i in range(2, limitn): if not_prime[i]: continue for f in xrange(i*2, limitn,
def primes_sum(limit):
limitn = limit+1
not_prime = [False] * limitn
primes = []
for i in range(2, limitn):
if not_prime[i]:
continue
for f in xrange(i*2, limitn, i):
not_prime[f] = True
primes.append(i)
return sum(primes)
这对我来说很有意义,但我不理解这一部分:
not_prime = [False] * limitn
究竟目的何在?它是如何工作的,它是如何发现一个数是否是素数的?我试过查,但找不到答案
提前感谢。您只需创建一个长度
limitn
的列表,其所有元素都初始化为False
*
是一个重复运算符。当对列表
应用整数
值n
作为右
操作数时,它会重复列表
n
次
您还可以在字符串上使用它:
>>> [False] * 2
[False, False]
>>> "rohit" * 2
rohitrohit
您只需创建一个长度为limitn
的列表
,其所有元素都初始化为False
*
是一个重复运算符。当对列表
应用整数
值n
作为右
操作数时,它会重复列表
n
次
您还可以在字符串上使用它:
>>> [False] * 2
[False, False]
>>> "rohit" * 2
rohitrohit
它初始化limitn
False
值的列表。e、 g:
>>> [False]*3
[False, False, False]
基本上,它防止您以后获得索引器。它初始化限制值列表。e、 g:
>>> [False]*3
[False, False, False]
基本上,它可以防止您以后获得索引器。[False]*n
使用n个都为False的元素初始化列表。当您事先知道列表将包含多少元素时,这种初始化方法通常被用作优化方法—它比使用.append()添加元素快得多。[False]*n
使用n个全部为False的元素初始化列表。当您提前知道列表将包含多少元素时,这种初始化方法通常被用作优化方法—它比使用.append()添加元素快得多。哦,这很有意义。非常感谢。哦,这很有道理。非常感谢。