我知道我的问题是从哪里来的,我只是不知道如何解决它。你知道吗
for x in listoflists:
if x[1] == [1,0]:
q=[0, 0]
for z in range(5):
q[z] = x[:]
q[z][1] = [0,1]
q[z][0][-1] = q[z][0][-1] * 1.25
print(id(q[z][0][-1]))
list.append(q)
我想做的是:
[1,0]
切换到[0,1]
我现在所拥有的是将所有先前的值更改为我想要的最后一个值。你知道吗
我知道这与python处理列表作为引用有关。你知道吗
我不得不将我的第一行更改为x
的一部分来缓解这种情况,但我不知道如何绕过我获取特定索引列表项的部分,因为它将id
显示为两个不同的内存空间。你知道吗
我看到的所有解决方案都显示了列表理解,但我不知道这如何适用于我的情况,因为我的z索引似乎工作正常,而且它们都有单独的内存id。你知道吗
你需要做深度复制。切片做浅拷贝。你知道吗
相关问题 更多 >
编程相关推荐