Что означает этот знак [:-1]?
Нашёл удобное объяснение по срезам списков: https://pythonworld.ru/osnovy/indeksy-i-srezy.html
Это срез из списка. Знак "-" означает, что начало среза отсчитывается с конца. То есть, -1 это последний элемент списка, тогда как 0 - первый. 
От себя добавлю, что копирование кода это плохая практика при обучении. Старайтесь сами все писать и вникать в ваш код, так же не забывайте про документацию и книги для чайников.