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

1. werehuman 01.07.2011 12:36 Psi+

ты петух, man list.pop

2. der_FeniXwerehuman /1 01.07.2011 12:38 Psi+

и что же я там такого должен прочитать из того что не знал? то, что он выгрызает указанный элемент? так тогда какого хера len(old) == len(self.__urls_to_work) — True? Или тебе просто что-то тяжёлое на голову упало?

3. werehumander_FeniX /2 01.07.2011 12:41 Psi+

знаешь, что такое "ссылка"?

4. werehumander_FeniX /2 01.07.2011 12:42 Psi+

тяжёлое тебе на голову упало лол. old — это ссылка на self.__urls_to_work. Если тебе нужна копия, то юзай конструктор копирования или модуль copy

5. der_FeniXwerehuman /4 01.07.2011 12:42 Psi+

вообще — знаю. но каким боком она тут — понятия не имею.

6. werehumander_FeniX /5 01.07.2011 12:43 Psi+

попробуй id(old) == id(self.__urls_to_work)

7. der_FeniXwerehuman /6 01.07.2011 12:52 Psi+

ага, теперь понял. но всё-равно проблема остаётся.
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
функция юзается в цикле. и по два раза подряд выдаёт одни и те же урлы.

8. utros 01.07.2011 14:48 Adium

Это может называться передача по ссылке.

Do you really want to delete ?