这是我的代码:population= [stream_rules.StreamRules for n in range(len(buffer))]l= [[] for n in range (len(buffer))]for i in range(0, len(buffer)): length = random.randrange(2, len(buffer[i]), 1) split = random.randrange(1, length, 1) population[i].split = split for j in range(0, length): l[i].append(buffer[i][j]) population[i].ch= l[i]for i in range(0, len(population)): print(population[i].ch)请注意,这是一个将 作为变量的类。我试图做的是复制列表每行中的每一行,然后将其传递给.StreamRuleschsplitbufferLpopulation[i].ch问题是,当我尝试在最后一个循环中打印(为了验证)时,我发现所有元素都指向我从中复制的最后一个元素。我看不出问题出在哪里。任何人都可以帮我吗?chbuffer
1 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
您在创建时忘记了括号 - 您实际上并没有创建实例。它应该是.所有元素都是相同的,因为 的元素不是 instaces,因此您创建了被叫和 的静态成员,并且静态成员对于所有类成员都是相同的。populationpopulation= [stream_rules.StreamRules() for n in range(len(buffer))]populationStreamRuleschsplit
添加回答
举报
0/150
提交
取消
