У тебя само условие выглядит как-то странно. Если i < длины элемента, добавляем 'new', если больше или равно, вытаскиваем из элемента. А оттуда ты ничего не сможешь вытащить как раз потому, что i больше или равно длине элемента. и падает он не на ифе, а тут - temp.append(seq[i])