`a`和`a [:]`之间有什么区别?

Ran*_*lue 0 python

这里阅读Python 3.2教程,最后一个例子是

a[:] = []
Run Code Online (Sandbox Code Playgroud)

这相当于

a = []
Run Code Online (Sandbox Code Playgroud)

?如果是,为什么他们写a[:]而不是a?如果不是,有什么区别?

Cha*_*tie 7

他们并不等同.这两个例子可以让你了解它们之间的区别.

例1:

>>> b = [1,2,3]
>>> a = b
>>> a[:] = []
>>> print b
[]
Run Code Online (Sandbox Code Playgroud)

例2:

>>> b = [1,2,3]
>>> a = b
>>> a = []
>>> print b
[1,2,3]
Run Code Online (Sandbox Code Playgroud)