12讲第0题的疑问
0. 注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。>>> old =
>>> new = old
>>> old =
>>> print(new)
复制代码
会打印:
根据上一节课如果是列表切片,则切片保持原列表的值不变,但如果是赋值,应该只是指向,old列表变化后,为什么new没有指向old的新列表,而还是指向原来的列表值呢?不太理解,请教高手指点 >>> old = old指向 新建的
>>> new = old new指向 同一个
>>> old = old指向新建的 new还是指向 fall_bernana 发表于 2020-10-15 10:32
>>> old = old指向 新建的
>>> new = old new指向 同一 ...
如果old.reverse()的话,old还是指向变化后的列表,而这里old=是直接让old指向了一个新的列表,所以new并没有跟随old 寒暄371 发表于 2020-10-15 10:38
如果old.reverse()的话,old还是指向变化后的列表,而这里old=是直接让old指向了一个新的列表,所以ne ...
reserve方法是对原列表的操作,赋值操作只会覆盖列表 寒暄371 发表于 2020-10-15 10:38
如果old.reverse()的话,old还是指向变化后的列表,而这里old=是直接让old指向了一个新的列表,所以ne ...
>>> old=
>>> new=old
>>> id(old)
37754624
>>> id(new)
37754624 没有赋值操作,id一样,指向一样
>>> new=
>>> id(new)
38082112 只要存在赋值操作,id改变(也就是新申请了内存)
>>> id(old)
37754624
>>>
页:
[1]