Python 2.7 为什么在下面给出的代码中,用于异或运算的操作数中的值会发生变化?

Python 2.7 为什么在下面给出的代码中,用于异或运算的操作数中的值会发生变化?,python-2.7,Python 2.7,在下面的python代码中,在xor操作之前和xor操作之后,group1x的值是不同的。为什么?之所以发生这种情况,是因为group21x和group1x引用的是相同的数据 由于您没有在帖子中添加前几行,因此我无法提供非常具体的内容,但这个简单的示例将帮助您了解发生了什么: k=0 m=0 l=0 for i in range(row*column/16): for j in range(16): group21x[i][k][m]=seed[l]^group1x[i

在下面的python代码中,在xor操作之前和xor操作之后,group1x的值是不同的。为什么?

之所以发生这种情况,是因为
group21x
group1x
引用的是相同的数据

由于您没有在帖子中添加前几行,因此我无法提供非常具体的内容,但这个简单的示例将帮助您了解发生了什么:

k=0
m=0 
l=0
for i in range(row*column/16):
    for j in range(16):
        group21x[i][k][m]=seed[l]^group1x[i][k][m]
        k=k+1
        m=m+1
        l=l+1
        if(k==4):
            k=0
        if(m==4):
            m=0
现在,我添加
[:]

v1 = [1, 2]
v2 = v1
v2[0]=0
print(v2)      # [0,2]
print(v1)      # [0,2]
可能的dup:
v1 = [1, 2]
v2 = v1[:]
v2[0]=0
print(v2)      # [0,2]
print(v1)      # [1,2]