我不明白一个布尔值怎么能乘以一个长度。我对编码相当陌生
def __init__(self, capacity, items):
self.currentSolution = [False]*len(items)
符号 [value] * number
建立一个包含 value
在每个索引处,长度为 number
例子
[False]*2 => [False, False]
[False]*10 => [False, False, False, False, False, False, False, False, False, False]
当你把一个列表乘以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))]