Пока не интересует вопрос правильности. Интересует почему цикл с j бесконечный? Я специально создал копию списка, чтобы list не менялся и относительно неизменного списка сделал цикл.