bactuals是一个字符串列表。贝帕克斯也是。你知道吗
actuals=bactuals[1:]
peaks=bpeaks[1:]
如果我现在看看bactuals,我会发现它仍然是一个字符串列表。但是,如果我做了以下事情:
actuals=bactuals[1:]
peaks=bpeaks[1:]
actuals=bactuals
peaks=bpeaks
(我意识到上面的代码很荒谬,但我正在测试以找到另一个问题的根源。)
bactuals现在突然变成了一个类型列表。怎样?仅仅是把一件东西放进另一件东西,怎么能改变原来的类型呢?你知道吗
Tags:
你的例子不可重复。这和我预期的一样。你知道吗
通过使用setter修改传入的对象:
setter将列表中的每个项存储为不同的类型(int),由于这是通过访问索引而不是创建一个新列表来完成的,因此这会修改原始列表。你知道吗
如果是这样的话,你在第一种情况下就看不到了,因为
bactuals[1:]
实际上创建了一个新的列表,使得bactuals
不受影响。解决方法是将副本(bactuals[:]
)传递给setter,但更好的选择是修复setter,以便它自己创建一个新列表。你知道吗相关问题 更多 >
编程相关推荐