Как взять среднюю длину каждого индекса - PullRequest
0 голосов
/ 01 февраля 2019

Я получил список, в котором мне нужно взять среднее значение для каждого индекса.Так, например:

lst = ['ABC','DEF','GHIJ']

индекс 1 имеет длину 3, индекс 2 - это длина 3, а индекс 3 - это длина 4. Среднее или среднее значение для этого будет примерно 3,33 (3+3 + 4/3 = 3,33)

Я пробовал это до сих пор, но по какой-то причине не могу понять, как правильно выполнить итерацию:

lst = ['ABC','DEF','GHIJ']

for avg in range(len(lst)):
    length = len(lst[avg])
    sums = sum(a) // len(lst)

, которая возвращает ошибку.Я попытался переключить сумму, но все еще получаю ошибки.

Как я могу это исправить?Извините, если это тривиальное исправление, но я немного застрял.

Спасибо за помощь!

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019
In [2]: lst = ['ABC','DEF','GHIJ']

In [3]: sum([len(i) for i in lst])/len(lst)
Out[3]: 3.3333333333333335
0 голосов
/ 01 февраля 2019

Использование

sum(map(len,lst))/len(lst)
3.3333333333333335

Другой способ

len(''.join(lst))/len(lst)
3.3333333333333335
0 голосов
/ 01 февраля 2019

Вы можете попробовать это:

lst = ['ABC','DEF','GHIJ']

avg = sum(len(s) for s in lst) / len(lst)

Это в основном берет сумму выражения генератора len(s) for s in lst и делит ее на длину списка.Другой вариант с map:

avg = sum(map(len,lst)) / len(lst)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...