なぜこれを行うのですか:
del a[:]
リスト内のすべてのエントリを削除しますa
か?
私が理解している限りa[:]
、 のコピーを返しますa
。del a[:]
のコピーを削除しないでくださいa
。
del
元の値をチェックし、指定されたスライスを使用してそれを削除する特別なステートメントです。
オブジェクトを呼び出し__delitem__
、オブジェクト自体が削除を処理します。
内部で行われている操作に興味がある場合は、次のクラスを実装し、del
さまざまなスライスまたはキー参照でステートメントを使用してください。
class A:
def __delitem__(self, key):
print(key)
インタプリタでのテスト:
>>> a = A()
>>> del a[:]
slice(None, None, None)
>>> del a[2]
2
>>> del a["test"]
test