Получение среднего из каждых 2 элементов в списке - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть список номеров. (Я приведу пример ниже.) Я хотел понять, как суммировать 1-й и 3-й элемент, 3-й и 4-й элемент и делить на них половину. Например, каждый раз, когда я меняю значения с помощью al oop, новое значение i имеет место для рассматриваемого l oop, поэтому все мои значения портятся. Я оставляю код, который я опробовал ниже, чтобы это работало.

for i in liste6:
    liste6[i]=((liste6[i]+liste6[i+2])/2)

Также это не работает для значений с плавающей запятой, значения, которые у меня есть, 10,0, не полностью с плавающей точкой, а с плавающей точкой по концепции.

Что у меня есть:

[10.0, 10.0, 40.0, 40.0, 60.0, 10.0, 90.0, 40.0]

Желательно:

[25.0, 25.0, 75.0, 25.0]

Примечание: список меняется, но это главная проблема.

Редактировать Извините, я не уточнил, как вы получили второй список из первого. Для каждых 4 элементов я хочу получить среднее значение 1-го и 3-го элементов для в данном случае 10 и 40, 10 и 40. Для остальных четырех элементов (среднее из 60,90 и 10 и 40.

Мне очень жаль плохое объяснение. Хорошего дня

1 Ответ

1 голос
/ 18 февраля 2020

Вы используете для каждого l oop так же, как вы используете для l oop, это либо

for item in lst:
    # item: item

, либо

for i in range(len(lst)):
    # item: lst[i]

Для я думаю, что для этой цели более подходящим является значение l oop, но прохождение всего диапазона индексов приведет к ошибкам вне границ, поэтому правильный код будет выглядеть примерно так:

output = []
for i in range(len(lst)-1):
    output.append((lst[i] + lst[i + 1])/2)

Таким образом, вы получите список, заполненный средними в переменной output.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...