Преобразовать значения в списке и заменить их
У меня есть файл со значениями температуры, где-то есть ошибки в виде того, что программа вместо реальной температуры пишет 300 Кельвин, нужно найти соседние значения температуры, взять их среднее и вставить обратно в список, чтобы вышел корректный график температуры. Вот к примеру: 346 346 300 347 347 Здесь нужно взять среднее и вместо 300 подставить. В моем коде он мне выдает только значение 304 и все, не могу понять почему
li = []
def FileOpener(): #Открываем файл для создания списка значений
f = open('file.txt')
for i in f:
li.append(int(i))
f.close()
FileOpener()
def Fixer():
f = open('fixed.txt', 'w')
a = [(li[i - 1] + li[i + 1])/2 for i in li if i == 300]
print(a)
f.close()
Fixer()