大佬求解释
>>> x =
>>> def invert(x):
... x = x[::-1]
...
>>> invert(x)
>>> print(x)
>>> # 请问这里会打印什么内容?
答:
>>> x =
>>> def invert(x):
... x[:] = x[::-1]
...
>>> invert(x)
>>> print(x)
>>> # 请问这里会打印什么内容?
答:
为什么上一题在函数内部执行 x = x[::-1] 语句,出了函数就还原;而这一题在函数内部执行 x[:] = x[::-1] 语句,则能够从根本上修改列表呢?
小甲鱼的图看不懂,我还是喜欢听正式的解释。 x = x[:: -1]是浅拷贝,不会创建新对象,而 x[:] = x[::-1] 是深拷贝,会新创建对象
页:
[1]