为什么xor操作的操作数中使用的值会在下面给出的代码中发生变化?

时间:2016-04-01 09:38:11

标签: python-2.7

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

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

1 个答案:

答案 0 :(得分:0)

这是因为group21xgroup1x指的是相同的数据。

因为您没有在帖子中添加上一行,所以我无法提供非常具体的内容,但这个简单的示例将帮助您了解会发生什么:

v1 = [1, 2]
v2 = v1
v2[0]=0
print(v2)      # [0,2]
print(v1)      # [0,2]

现在,我添加[:]

v1 = [1, 2]
v2 = v1[:]
v2[0]=0
print(v2)      # [0,2]
print(v1)      # [1,2]