【发布时间】:2016-03-24 17:30:20
【问题描述】:
为什么会这样:
del a[:]
删除列表中的所有条目a?
据我了解,a[:] 返回a 的副本。那么del a[:]不应该删除a的副本吗?
【问题讨论】:
-
因为这就是它的定义?
del是一个语句,而不是一个函数,所以它不像你在传递一个切片给它。 -
a[:]不返回副本它返回一个切片,例如a[:] = [1,2]替换a的内容而不是a的副本。同样,切片上的del定义为删除该切片的元素。