рассчитать среднее и минимальное количество списков с включенными типами - PullRequest
2 голосов
/ 22 марта 2019

Я должен вычислить среднее значение следующего списка:

j=[20, 30, 40, None, 50]

А также минимальные значения из этих вложенных списков, которые также включают в себя:

x = [[20, 30, 40, None, 50], [12, 31, 43, None, 51]]

Которые должны возвращать[12,30,40,50] но следующий код не работает.

print(list(map(min, zip(*x))))
TypeError: '<' not supported between instances of 'NoneType' and 'NoneType'

И для среднего значения я пробовал это:

import statistics
statistics.harmonic_mean(j)

Ни один из них не работал с этим типом списка.

1 Ответ

2 голосов
/ 22 марта 2019

Вы можете отфильтровать значения «Нет», чтобы получить среднее значение и мин.Например:

from statistics import mean

data = [[20, 30, 40, None, 50], [12, 31, 43, None, 51]]

mean_val = mean(d for d in data[0] if d is not None)
print(mean_val)
# 35

min_vals = [min(a, b) for a, b in zip(*data) if a is not None and b is not None]
print(min_vals)
# [12, 30, 40, 50]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...