Очистка списка - PullRequest
       19

Очистка списка

8 голосов
/ 03 октября 2008

Меня раздражает, что я не могу очистить список. В этом примере:

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

a = []

Во второй раз, когда я инициализирую пустой список, он создает новый экземпляр списка, который находится в другом месте в памяти, поэтому я не могу использовать его для ссылки на первый, не говоря уже о его неэффективности.

Единственный способ сохранить тот же указатель, который я вижу, - это сделать что-то вроде следующего:

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

Это кажется довольно скучным, есть ли лучший способ решить эту проблему?

Ответы [ 2 ]

27 голосов
/ 03 октября 2008

Вы ищете:

del L[:]
4 голосов
/ 03 октября 2008

Я не уверен, почему вас беспокоит тот факт, что вы ссылаетесь на новый пустой список в памяти вместо того же самого "указателя".

Ваш другой список будет собираться рано или поздно, и одним из главных преимуществ работы на языке высокого уровня, собирающем мусор, является то, что вам обычно не нужно беспокоиться о таких вещах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...