我正在使用 python,我有一个集合列表,构造如下:
list = [set([])]*n
...其中 n 是我想要在列表中的集合数。我想为列表中的特定集合添加一个值。再说第二组。我试过了
list[1].add(value)
但这反而将值添加到列表中的每个集合。这种行为对我来说非常不直观。通过进一步的测试,我想我已经找到了问题所在:该列表显然包含同一集合的 10 个实例,或者指向同一集合的十个指针,或者其他什么。通过重复调用构建列表
list.append(set([]))
允许我使用上面的语法将元素添加到单个集合中。所以我的问题是:我的第一个列表构建技术到底发生了什么?很明显,我不太了解语法。另外,有没有更好的方法来初始化一个 n 元素列表?我使用这种语法已经有一段时间了,这是我遇到的第一个问题。