Ваша проблема в том, что значение i
не является индексами списка, это фактические элементы в списке, по которым выполняется итерация.
Ваш оператор else в цикле также не нужен, поскольку он ничего не меняет.
Я думаю, что это завершает то, что вы ищете:
count = 0
num_list = [1, 2, 3, 3, 2, 1, 1]
for i in range(len(num_list) - 1):
if(num_list[i] == num_list[i + 1]):
count += 1
print(count)
# Output: 2
range(len(num_list) - 1)
будет перебирать все индексы, кроме последнего в списке. Так что проверка if, чтобы убедиться, что она не выходит за пределы, не является необходимой.