我不明白他们是如何初始化当前解决方案的。谁能解释一下这是干什么的?

问题描述 投票:0回答:2

我不明白一个布尔值怎么能乘以一个长度。我对编码相当陌生

def __init__(self, capacity, items):
        self.currentSolution = [False]*len(items) 
python initialization boolean init self
2个回答
3
投票

符号 [value] * number 建立一个包含 value 在每个索引处,长度为 number

例子

[False]*2 => [False, False]
[False]*10 => [False, False, False, False, False, False, False, False, False, False]

1
投票

当你把一个列表乘以N时,实际上是创建了一个由N个原始列表组成的新列表。

让我给你举个例子。当我们使用下面的命令,

[1, 2, 3] * 2

我们会得到以下列表

[1, 2, 3, 1, 2, 3, 1, 2, 3]

所以执行[False]*len(items)实际上会创建一个列表,其中len(items)的len是False.

另一种同样的方法可以是。

[False for _ in range(len(items))]
© www.soinside.com 2019 - 2024. All rights reserved.