|
我要对一个二维列表进行行列互换,b列表是通过a列表切片生产,然后行列互换的时候,会把a列表也修改,查看过a和b的内存地址是不同的,我没有对a列表做过修改,求大神帮忙解答为什么a列表会变?a = [
[2,2,3,2],
[0,0,0,0],
[0,0,0,0],
[2,2,2,2]
b = a[::-1]
for i in range(4):
print('{0} ==> {1}'.format(a[i],b[i]))
print('a的地址:%s ;b的地址:%s' % (id(a),id(b)))
for i in range(len(a)):
for j in range(len(a[i])):
b[j][i] = a[i][j]
for i in range(len(a)):
print('{0} ==> {2}'.format(a[i],b[i]))
运行结果:
|
|