在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()添加元素快得多。

哦,这很有意义。非常感谢。哦,这很有道理。非常感谢。