der_FeniX
01.07.2011 12:35 Psi+
Ну вот как это может называться?
old = self.__urls_to_work
url = self.__urls_to_work.pop(0)
len(old) == len(self.__urls_to_work)
True
self.__urls_to_work.remove(url)
ValueError: list.remove(x): x not in list
ты петух, man list.pop
и что же я там такого должен прочитать из того что не знал? то, что он выгрызает указанный элемент? так тогда какого хера len(old) == len(self.__urls_to_work) — True? Или тебе просто что-то тяжёлое на голову упало?
знаешь, что такое "ссылка"?
тяжёлое тебе на голову упало лол. old — это ссылка на self.__urls_to_work. Если тебе нужна копия, то юзай конструктор копирования или модуль copy
вообще — знаю. но каким боком она тут — понятия не имею.
попробуй id(old) == id(self.__urls_to_work)
ага, теперь понял. но всё-равно проблема остаётся.
def get(self):
if len(self.__urls_to_work) > 0:
url = self.__urls_to_work.pop(0)
self.__visited_urls.append(url)
return url
else:
return False
функция юзается в цикле. и по два раза подряд выдаёт одни и те же урлы.
Это может называться передача по ссылке.