попытайтесь переопределить метод toString (), поскольку вы хотите, чтобы этот элемент был напечатан. поэтому способ печати может быть следующим:
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).toString());
}
В основном маршрут изменчив и каждый раз меняется. Когда вы устанавливаете LCT / MCT, это указатель на маршрут. Вы можете использовать предложение от @jasonharper и обновить код следующим образом:
# Update min/max
if this_dist < LC:
LC = this_dist
LCT = route[:]
print('New low:', LCT, 'Distance:', LC)
elif this_dist > MC:
MC = this_dist
MCT = route[:]
print('New high:', MCT, 'Distance:', MC)