a = [1,2,3] b = a a.append(4) print(a,b)
结果为:
[1,2,3,4] [1,2,3,4]
犹如之前提到的, a和b均为指针,
在直接修改元素时, 如b[0] = 2, 那么b会指向一个新开辟的空间, 拷贝a中元素并对相关元素修改
如果调用该对象的成员函数, 则a-b代表的是同一个内存空间, 也就是说会导致a改变的同时, b的值也会同时改变
如果希望达到和C语言同样的赋值效果, 需要采用copy的方式(如b=a[:], 或copy函数)
Sign in to make a reply
侬·格兰
结果为:
犹如之前提到的, a和b均为指针,
在直接修改元素时, 如b[0] = 2, 那么b会指向一个新开辟的空间, 拷贝a中元素并对相关元素修改
如果调用该对象的成员函数, 则a-b代表的是同一个内存空间, 也就是说会导致a改变的同时, b的值也会同时改变
如果希望达到和C语言同样的赋值效果, 需要采用copy的方式(如b=a[:], 或copy函数)