Код, который вы показываете, будет работать в течение 0,1 микросекунды, которые потребуются для создания исключения:
org_list = getList()
list = orgList[:]#this line cause cpu problems.
orgList
должно быть org_list
. Покажите минимальный код, который действительно воспроизводит проблему.
Кроме того, это убивает встроенную функцию list
. Не делай этого.
Обновление Еще одна мысль: распространенный ответ: «Приложение Django работает медленно!» "отключить флаг отладки" ... очевидно, он не освобождает память в режиме отладки.
Update2 about "" "Я обнаружил, что когда вы нарезаете список. Он фактически работает как представление этого списка и просто вызывает методы оригинального списка, чтобы получить фактический элемент." "" Откуда вы получить эту идею? Этого не может быть в случае с простым старым списком! Вы переопределили list
где-нибудь?
В вашей getList
функции:
(1) положить в print type(list)
(2) замените result = list()
на result = []
и посмотрите, исчезнет ли проблема.