8

リストをクリアできないのは面倒です。この例では:

a = []
a.append(1)
a.append(2)

a = []

2回目にaを空のリストに初期化すると、リストの新しいインスタンスが作成されますが、これはメモリ内の別の場所にあるため、最初のリストを参照するために使用することはできません。

同じポインターを保持する唯一の方法は、次のようなことです。

for i in range(len(a)):
    a.pop()

これはかなり長ったらしいですが、これを解決するより良い方法はありますか?

4

3 に答える 3

27

あなたは探している:

del L[:]
于 2008-10-03T11:40:52.297 に答える
4

同じ「ポインター」ではなく、メモリ内の新しい空のリストを参照しているという事実を心配している理由がわかりません。

もう 1 つのリストは遅かれ早かれ収集されますが、高レベルのガベージ コレクション言語で作業することの大きなメリットの 1 つは、通常、このようなことを心配する必要がないことです。

于 2008-10-03T11:45:20.073 に答える
1

これはあなたを助けることができます::)

L[:] = []
于 2019-07-26T09:59:59.980 に答える